文末有55个实战案例资料
导读:我们在编写PLC程序时,通信相关的程序是我们编程的一个痛点、也是一个难点。比如PLC与变频器通信时,我们明明什么都配置好了,程序也写的没问题,但是为什么就是通信不上呢?那这个时候,我们就需要借助第3方的调试软件了,如何使用第3方的串口调试软件与PLC测试通信呢?
(1)1200PLC本体是不带RS485通信口的,所以增加了一个RS485信号板,
1200PLC上增加的信号板的型号是CB1241 RS485 ,具体订货号为214-1CH30-1XB0。信号板上的T/RA端子接USB转485端子的8号脚,信号板上的T/RB端子USB转485端子的3号脚。USB那端插到电脑即可。
第一步:检查PLC程序里设置的波特率、奇偶校验、站地址等等。
如下图所示,1200PLC编写了Modbus RTU从站的指令。以下是1200设置的端口号、波特率等
程序段1是设置RS485通信采用的是2线制模式
程序段2是设置通信端口为信号板CB1241,波特率为9600,PARITY是2代表的是偶效验。MB_DB管脚是程序段4中Modbus_Slave指令的背景数据块。
程序段4是填写从站的站号是1(MB_ADDR),主站发送2个字长度的数据到1200PLC的MW100和MW102中。
第二步:打开串口调试工具
(1)设置好端口号、波特率、奇偶效验等参数,这些参数与1200软件中设置一致即可。
(2)设置好寄存器地址。寄存器地址是00 00代表的是40001的数据;寄存器地址是00 01代表的是40002的数据;寄存器数设置的是00 02,代表了2个16位的数据,也就是40001和40002的数据。我们往40001地址中写入数据“10”,往40002地址中写入数据“11”
(3)然后点击“单次”则把数据发送出去了
(4)查看1200PLC中的数据是10,说明数据是正常发送到了PLC。
(5)在调试软件里我们还可以查看报文数据,并且解读。
串口发送的报文:01 10 00 00 00 02 04 0A 00 0B 63 92 6A
解读如下:
01:站地址
10:功能码10表示写入多个保持型寄存器
00 00:左边的2个零是寄存器地址高,右边的2个零是寄存器地址低
代表从00 00寄存器开始写入,这个00 00对应的Modbus地址为40001。
00 02:00 02对应十进制为2,表示连续写入2个寄存器,Modbus地址从40001到40002
04:表示4个字节,因为1个寄存器对应2个字节,2个寄存器对应4个字节
00 0A 00 0B:表示写入的4个字节,前2个字节对应第1个寄存器,后2个字节对应第2个寄存器。串口发送的数据,16进制A,换算成10进制是10
串口发送的数据,16进制0B,换算成10进制是11。
92 6A:是对前面所有数据进行CRC校验后的结果
软件返回的报文:01 10 00 00 00 02 41 C8
PLC软件以原格式的方式返回正确报文给电脑
最近有很多小伙伴说要案例书籍,说是手机上看文章不是很方便,我抽时间把55个实战案例全部整理出来,案例都是比较典型的,其中包括气缸控制程序、报警程序、程序框架、运动控制程序封装、模拟量控制变频器、通信等实战案例。需要的可以加我微信:biao467524527,如果加不上可以私信我!