一、案例背景
使用西门子plc和第三方变频Modbus通讯轮询,实现对第三方变频器的频率写入,对实时频率、实时电流、实时电压读取的功能。
二、前期说明:
硬件:西门子plc及模块:CPU-1214 DC/DC/DC,CB1241;三菱变频器:FR-D740(485接口)
软件:TIA Portal V15.0
前期硬件的接线这里不再赘述,自行查阅相关技术文档,本文着重于通讯轮询程序部分的描述;
三菱变频器参数的设置,这里同样不再赘述,自行查询相关技术文档即可;
西门子TIA Portal软件、实际PLC和变频器硬件准备;
三菱FR-D740变频器的通讯协议资料查询,找到频率写入、实时频率、实时电流、实时电压的数据记录地址;
三、实操流程
1、新建一个TIA Portal项目,创建PLC站,然后添加CB 1241模块;并在PLC站添加一个FC块,命名为:变频器控制模块;在PLC站 -> 设备组态 -> PLC本体 -> 属性 -> 系统和时钟存储器 -> 启用系统存储器字节和启用时钟存储器字节两项打“√”,如图:
2、新建一个DB块,命名为:Data,并在DB中创建如下表所示变量:
注:DONE、BUSY、ERROR、STATUS三个属于ModbusConnection下属分类
在TIA Portal中创建完成后,如图所示:
3、打开刚刚创建的FC块,并编程:
组态通讯连接
设定频率写入
实时频率读取
实时电流读取
实时电压读取
到此,FC模块编辑完成,在OB1中调用,下载到硬件实际调试即可。
总结:
轮询的本意是:在主站和从站的数据传输中(即读写的过程),一次只能读取或写入一次,也就是读取和写入得挨个挨个来;
当上一次读写的完成状态,作为下一次读写动作开始的条件;即上一次读写完成后,才能下一次读写,体现轮询的过程;
很多东西还是要多实操,多查资料,有时候可能独立查资料也是解决问题的一种能力;
百思不得其解的东西,也许你只需要多实践一次,就能领会大不同;