施耐德PLC编程应用案例与常见问题解决方案
1.施耐德PLC编程软件自由通讯口设置
以施耐德的SoMachine为例介绍以ICE61163-3为编程标准的PLC编程软件自由通讯口设置。这是以PLC作为数据采集对象常用的通讯方式。
1、设置自由口通讯参数
使用SL1端口,进行基本参数设置
例如M218PLC有SL1和SL2两个串行通讯口,我们选择其中的SL1作为目标对象。SL1采用RJ45接口,制作连接线时注意引脚关系以及电缆屏蔽。
2、接收数据帧格式选择
可以选择起始字符和结束符的方式;可以通过判断数据帧长度的方式;可以通
过帧收到超时(例如设置超时时间为5MS,则在收到最后一个字符后如果5MS
内没有收到其他字符,则判断本帧结束)的方式判断帧的结束(实例中通过接
收10个字节为一帧)
ASCII管理器的配置参数介绍
3、发送寄存器定义为字节的格式
程序及相关数据,使用SEND_RECV_MSG功能块。X5和X7定义为BYTE类型的数组。(ADDM和SEND功能块说明见对应文章)
4、设置发送(示例格式为16进制)
X4=16#0A字节数,发送数据为X5数组里的10个字节
5、设备收到的数据
如下图所示,接收到的十个字节即为数组X5的十个字节
6、设备发送的十个字节数据
7、PLC收到的十个字节保存在接收区X7的是个寄存器中
注意:如果将发送寄存器设置为INT格式,例如发送字寄存器数据16#1234,则设备收到的顺序为16#3412,即高低字节顺序问题。
2.施耐德plc%I %IW %M %MW是什么意思
%I就是开关量输入,%IW就是模拟量输入,%M就是开关量输出,开关量的中间量也用%M,%MW就是模拟量输出,模拟量的中间量也用%MW。
3.施耐德PLC通讯的套路
施耐德PLC通讯的套路就是三个功能块,ADDM ,READ_VAR,WRITE_VAR,下面分别介绍
1 ADDM
ADDM功能块是地址转换,就是把PLC 的物理地址转换成PLC可识别的地址类型,这句话比较拗口,通俗讲,就是把字符串型变量,转换成ADDRESS 型变量,我们还是看例子
图一 ADDM功能块
如图一,图中红圆圈内就是一个字符串型变量 '2,1' 第一个数字2表示PLC 的串口2,第二个数字1 表示读取的从站地址,也就是变频器的地址,而此功能块就是把此地址转换成ADDRESS型变量 A1_Add。也许你会有疑问,为什么这么做?我也不知道,此款PLC就是这样,这就是它的套路,对于此种套路,我们只能牢记。在其他PLC特别是日系,一般是通过设置参数的方式实现,也有使用指令的。
还有一点,黄荧光笔部分的三个黑点,是表示电路相通,而它正是把转换好的地址赋值给下面我们要介绍的功能块。也就是说,读写功能块读取或写入变量的从站地址就是使用变量A1_Add。
2 WRITE_VAR
此功能块是用于往从站写数据,也就是写入变频器的运行频率。
tcpip协议在设计时就考虑了如何解决安全问题
图二 WRITE_VAR 功能块
这个功能块的信息量就很大了,我们一点点分析
1 看黄荧光笔部分 Addr,这个就是从站的地址,也就是变频器的地址,它是一个ADDRESS型变量,就是我们在ADDM功能块中转化的,就是图一的那三个黑点,就是连接到此处的,这也是CFC的优点,要用的变量轻松一连,而在FBD 或是LD 中,我们就要建立一个中间变量传递一下了。
2 下面三处用荧光笔表示的 就是此功能块的精髓了,它表示往变频器的地址0002开始写入一个WORD型变量,而写的这个数值放在PLC变量Fre里,这就是这个功能块的目的,也是此次通信的目的,执行结果,就是把PLC变量Fre 的值,写到了变频器的0002里面。当然,此处我们只写入了一个WORD,其实此功能块是支持一次写入125个的,因为Quantity是一个SINT型变量。Fre是一个数组型变量,当我们要一次写入很多数值的时候,用数组就很方便了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论