通讯模式: 起始符(1字节) 数据块(最大128字节) 终止符(1字节) Port2 或Port3 可以进行自由格式通讯,Port1 无此项功能。 自由格式通讯模式下,FD8220 或FD8230 需设为255(FF)。 波特率:300bps~115.2Kbps 数据格式
数据位:7bits、8bits
校验位:奇校验、偶校验、无校验 停止位:1 位、2 位 起始符:1 字节 终止符:1 字节
用户可设置一个起始/终止符,设置起始/终止符之后,PLC 在发送数据时,自动加上起 始/终止符,在接收数据时,自动去掉起始/终止符。 通讯形式:8 位、16 位
选择8 位缓冲形式进行通讯时,通讯过程中寄存器的高字节是无效的,PLC 只利用寄 存器的低字节进行发送和接收数据。
选择16 位缓冲形式进行通讯时,PLC 发送数据时,是先发送低字节数据,再发送高字节数据。
自由格式通讯是以数据块的形式进行数据传送,每块最大可传送128 字节, 同时每块可设置一个起始符和终止符,也可以不设。
指令形式:
1、发送数据指令:
数据发送指令,M0 的一次上升沿发送一次数据。
S1发送数据的首地址。可用操作数:K、TD、CD、D、FD S2发送的字符个数。可用操作数:K、TD、CD、D、FD n:通讯口号 范围:K2~K3
在数据发送过程中‘正在发送’标志位M8132(通讯口2)置ON
2.接收数据指令
数据接收指令,M0 的一次上升沿接收一次数据。
S1接收数据的首地址。可用操作数:K、TD、CD、D、FD S2接收的最大字符个数。可用操作数:K、TD、CD、D、FD n:通讯口号 范围:K2~K3
在数据接收过程中‘正在接收’标志位M8134(通讯口2)置ON
注意:如果要求PLC 只收不发或先收后发,需将通讯回复超时设为0ms。
以下为通讯相关的特殊辅助继电器和特殊FLASH数据寄存器一览表。
例程一:
本例中采用两台信捷XC3系列PLC进行自由格式通讯,一台(A机)先发送后接收,一台(B机)先接收后发送。实现的内容为:将本机的X10-X14的状态发送到对方的Y10-Y14,并接收对方发送的信息,并在本机的Y10-Y14上显示。如,A机的X10置ON,则B机的Y10亮,B机的X14置ON,则A机的Y14亮。
通讯端口的设置如下:将A机和B机的FD8220(通讯模式)当前值定为255(HFF);将B机的FD8223(回复超时判断时间)当前值定为0000,即无超时等待。其他为初始值。
A接A,B接B
1. 先发送后接收
A机程序框图如下:
起动程序
M8012工作
(50ms ON,50ms OFF)
M8012上升沿 发送数据
M8132下降沿 接收数据
M8134下降沿
A机程序如下:
//本机X10-X14的状态传送至D10
//将D0中的值赋予Y10-Y14
//发送数据
//置位M1
//接收数据
//复位M1
程序说明:PLC开始运行,将本机的X10-X14的状态值传送到D10中,并将D0中的数值赋予Y10-Y14。M8012是以100ms为周期的震荡信号波,用在这里表示每50ms发送一次数据。发送完毕置位M1,在M1的上升沿开始接收数据,接受完毕复位M1,完成一次的发送与接受。 时序图如下: M8012 M8132 发送数据 开始 开始 数据 终止 M8134 接收数据 开始 数据 终止
2. 先接收后发送
B机的程序框图如下:
M8002初始
正向脉冲 接收数据 M8134下降沿
发送数据 M8132下降沿
B机程序如下:
//本机X10-X14的状态传送至D10
//将D0中的值赋予Y10-Y14
//接收数据
//发送数据
程序说明:PLC开始运行,将本机的X10-X14的状态值传送到D10中,并将D0中的数值赋予Y10-Y14。PLC从STOP→ON是,M8002线圈接通扫描一次,将PLC置接收的状态,当PLC接收完毕,就发送一次数据。
时序图如下:
M8002
M8134
接收数据 开始 数据 终止 开始
M8132
发送数据 开始 数据 终止
例程二:
3. 只接收不发送
本例程采用信捷PLC与IC卡读卡器进行自由格式通讯。IC卡读卡器做主机,PLC做为从机。PLC只从读卡器读取数据而不向读卡器发送数据。 将PLC的FD8220(通讯模式)当前值定为255(HFF),FD8221(通讯格式)的当前值定为518(H0206),无校验、1位停止位、8bits数据、波特率19.2Kbps,FD8223(通讯回复超时判断)当前值定为0(H0000),即无回复超时判断。
程序框图如下: . M8002初始 正向脉冲
接收数据 M8138置位
PLC程序如下:
//置位M1
//接收数据
//复位M1.
时序图如下:
M8002
M8134
接收数据 开始
M8138
数据 终止 开始 小提示:M8132是正在发送标志,即开始发送置
ON,止到发送结束置OFF,M8132 的下降沿就标志着发送完毕,因此常将M8132的下降沿作为接收的触发条件。同理,M8134的下降沿作为发送的触发条件。在只收不发的程序中,M8138的应用也是这个道理。
如果无法进行自由格式通讯,请按以下顺序检查: 1.确认硬件接线是否正确;
2.检查通讯端口设置,确认设置无误(注意:在修改FD中的数值过后需要重新上电);
3.查看D8137/D8147中的错误代码,在进行相应的修正之后将D8137/D8147改为0; 4.检查通讯程序,确认通讯程序无误;
因篇幅问题不能全部显示,请点此查看更多更全内容