1.RS(FNC80)串行数据传送
指令用于安装在PLC基本单元上的RS-232C或RS-485串行通信口进行无协议通信,从而执行发送和接收串行数据的指令。指令表现形式如图9-32所示,图中的指令表示当执行条件M10接通时,发送D100开始的连续9点数据(D100~D108),接收数据保存在D500开始的5点数据中(D500~D504)。
图9-32 RS指令示例
(1)使用RS指令时需注意以下事项
1)数据通信格式可以通过前面所述的特殊数据寄存器D8120设定。RS指令驱动时,即使改变D8120的设定,实际上也不接收。
2)在不进行发送的系统中,请将数据发送元件数设定为“K0”,或在不进行接收的系统中将接收元件数设定为“K0”。
3)指令在使用时涉及的特殊辅助继电器(M)和特殊数据寄存器(D)参见表9-13~表9-15所示。
4)指令在使用时必须设定处理数据是8位模式还是16位模式,由M8161来设定,且后续所讲的HEX、ASCII、CCD等指令在使用也一定要进行数据模式的设定。
5)RS指令在程序中可无数次使用,但是在同一时刻只能由一个RS指令驱动。
6)在RS指令补驱动后,即使更改D8120的设置,也不能被接收。应断开RS指令,使D8120为0后,重新设定。
7)使用了RS指令后不能再使用其他通信指令。
(2)使用RS指令的编程格式
PLC程序格式一般分为基本指令、数据传送、数据处理三部分。使用RS指令发收信息的基本程序如图9-33所示。基本指令用于定义传送的数据地址、数据数量等,数据传送部分用于写入传送内容,数据处理部分用于将接收到(对于数据接收工作)的数据通过指令写入指定的存储器区域。
图9-33 用RS指令发收信息的程序
2.ASCII(FNC82)
本指令是将HEX转换成ASCII的指令。转换模式有8位模式和16位模式;
(1)16位运算
M8161=OFF时执行,16bit变换模式。ASCII指令表现形式及操作数的说明如图9-34所示。
图9-34 HEX→ASCII变换指令16位表现形式
图中[S·]的HEX数据的各位由低位到高位顺序转换成ASCII,向[D·]的高8位、低8位分别传送。转换的字符数用n指定。[D·]目标文件首地址分为低8位、高8位,存储ASCII数据。
假定[S·]指定起始元件为:(D100)=0ABCH(D101)=1234H(D102)=5678H;图9-34程序转换情况见表9-20。
表9-20 ASCII指令16位模式转换后[D·]元件中的内容
当n=K4时,位的构成如图9-35所示。
图9-35 当n=K4时,位的构成
使用打印等输出BCD码数据时,在执行本指令前,需要进行BIN→BCD的变换。
(2)8位运算
M8161=ON时,执行8位变换模式。
图9-36中[S·]HEX数据的各位转换成ASCII,分别向[D·]的低8位传送。转换的字符数用n指定。[D·]的高8位为0,低8位存放ASCII。
图9-36 HEX→ASCII变换示例8位表现形式(www.xing528.com)
当指定[S·]起始元件为(D100)=0ABCH(D101)=1234H(D102)=5678H图9-35转换情况见表9-21。
表9-21 8位模式转换后[D·]元件中的内容
当n=K2时,位的构成如图9-37所示。
图9-37 当n=K2时,位的构成
3.HEX(FNC83)ASCII转换成HEX
HEX指令是将ASCII转换为十六进制数(HEX),传送到指定单元存放。
指令执行形式有16位和8位两种表现形式,指令操作数见表9-22。16位表现形式如图9-38所示,16位执行情况如图9-40所示。8位表现形式如图9-39所示,执行情况如图9-41所示。
表9-22 HEX指令操作数说明
图9-38 16位表现形式
图9-39 8位表现形式
图9-40 16位指令执行情况(n=K4)
图9-41 8位指令执行情况(n=K2)
4.CCD/校验码
本指令用于通信时出错校验。将[S·]指定的元件开始的n字节组成堆栈(D的高字节、低字节拆开),将各字节数值的总和送到[D·]指定的元件,而将堆栈中垂直奇偶校验值送到[D·]+1中。指令表现形式及操作数说明如图9-42所示。
(1)当M8161=OFF时的16位模式
如图9-42所示,以D100指定的元件为起始的10字节数据的总和存储于D0中,垂直奇偶校验数据存储于D1中,可以用于通信数据的校验。示例转换情况见表9-23。
(2)当M8161=ON时的8位模式
如图9-43所示,以D100指定的元件为起始的10个元件的低字节数据的总和存储于D0中,垂直奇偶校验数据存储于D1中,可以用于通信数据的校验。示例程序转换情况见表9-23。
图9-42 校验码CCD指令应用于16位模式示例
图9-43 校验码CCD指令应用于8位模式示例
表9-23 16位/8位模式总和校验情况
(续)
注:表中标①的是垂直校验有“1”位,1的个数如果是奇数,校验值为1,1的个数如果是偶数,校验值为0。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。