一、案例背景
使用西门子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中调用,下载到硬件实际调试即可。
总结:
轮询的本意是:在主站和从站的数据传输中(即读写的过程),一次只能读取或写入一次,也就是读取和写入得挨个挨个来;
当上一次读写的完成状态,作为下一次读写动作开始的条件;即上一次读写完成后,才能下一次读写,体现轮询的过程;
很多东西还是要多实操,多查资料,有时候可能独立查资料也是解决问题的一种能力;
百思不得其解的东西,也许你只需要多实践一次,就能领会大不同;