三菱FX2N PLC串行通讯指令(FNC 80 RS)
串行通讯指令(FNC 80 RS)
1、指令格式: [RS D0 K8 D10 K8]
发送数据帧起始地址和数目 ↓
接收数据帧起始地址和数目
2、功能和动作:
※ RS指令是为使用RS232C、RS-485功能扩展板及特殊适配器,进行发送和接收串行数据的指令。
※ 传送的数据格式在后面讲述的特殊寄存器D8120设定。RS指令驱动时即使改变D8120的设定,
实际上也不接收。
※ 在只发送的系统中,可将接收数设定为K0。(K表示常数)
※ 在只接收的系统中,可将发送数设定为K0。
※ 在程序中可以多次使用RS指令,但在同一时间必须保证只有一个RS指令被驱动。
※ 在一次完整的通讯过程中,RS指令必须保持一直有效,直至接收数据完成。
D8120说明:
※ 根据MD320的通讯协议,无帧头和帧尾,则(bit9,bit8)=(0,0)。
※ bit13~15是计算机链接通讯时的设定项目,使用RS指令时必须设定为0。
※ RS485未考虑设置控制线的方法,使用FX2N-485-BD、FX0N-485ADP时,(bit11,bit10 )=(1,1)。
※ 若PLC和变频器之间的通讯参数如下:8位数据位,无校验,2位停止位,波特率9600,无帧头无帧尾,无协议模式,则D8120=H0C89(H表示16进制)(0000 1100 1000 1001B)
M8002
│──||────────── [ MOV H0C89 D8120 ]
5、相关标志位:
※ M8122:数据发送请求标志
当PLC处于接收完成状态或接收等待状态时,用脉冲触发M8122,将使得从D0开始的连续8个数据被发送。当发送完成后,M8122自动被复位。当RS指令的驱动输入X0变为ON状态时,PLC就进入接收等待状态。
※ M8123:数据接收完成标志
当M8123置位时,表明接收已经完成,此时需要将接收到的数据从接受缓冲区转移到用户指定的数据区,然后手工复位M8123。复位M8123后,则PLC再次进入接收等待状态。
如果指定的接收长度为0,则M8123不动作,也不进入接收等待状态。从这个状态想进入接收等待状态,必须使接受长度≥0,然后对M8123进行ON→OFF操作。
※ M8129:通讯超时标志
接收数据中途中断时,那个时点开始如果在D8129中规定的时间内不再重新开始接收,作为超时输出标志M8129变为ON状态,则接收结束。M8129需手工复位。
4、收发数据的顺序控制程序
│ M8000
│──||────────── [ RS D0 K8 D10 K8 ]
│
│发送请求脉冲
│──||────────── [ 写入发送数据的内容 ]
│ │─── [ SET M8122 ]
│ 发送请求,发送完成后自动复位
│ M8123
│──||────────── [ 处理接收数据的内容 ]
│ │─── [ RST M8123 ]
│ 接收完成后,手工复位
│
※ 超时时间:
在进行通讯时,例如我们设置的通讯超时时间为50ms,则D8129=K5(K表示常数,在D8129中默认单位为10ms)。
M8002
│──||────────── [ MOV K5 D8129 ]
复位M8129指令
M8129
│──||────────── [ RST M8129 ]
注意事项:
1、发送完成→接收开始或接收完成→发送开始的中间,须设置下述的OFF时间。
FX1S:2个扫描周期以上; FX2N:100us以上。
2、PLC在接收数据时,将直至该接收完成后才能进行发送。
3、起始数据接收后,直至接收完成标志M8123转为ON之前为接收中,此时不能执行
发送要求。
※ M8161:8位/16位选择
当M8161为OFF时,数据帧处理的是16位有效数据,也就是一个字包含两个有效的信息字符,发送和接收都是先低字节后高字节顺序。
当M8161为ON时,数据帧处理的是8位有效数据,也就是一个字包含一个有效的信息字符,放在低字节中,高字节信息忽略。例如用8位数据处理模式,则:
M8002
│──||────────── [ SET M8161 ]
特殊寄存器
描述
D8120
通讯格式设置
D8122
需要发送的剩余数据的个数
D8123
接收数据的个数
D8129
数据接收超时值
M8000
运行监控(常通)
M8002
初始脉冲接通
M8121
数据发送等待标志,用于其他通讯方式
M8122
数据发送请求标志
M8123
数据接收完成标志
M8129
通讯超时标志
M8161
8位/16位数据处理模式转化标志
※ 如果使用FX2N-485BD或FX0N-485ADP时,需设定D8120的(bit11,bit10)=(1,1)。否则接收到的数据和发送的数据一样。
※ 使用FX2N-285BD模块时,通讯接收完成的判断标准如下:接收的字节数达到指定的接收长度或者接收到指定的结束字符。由于FX2N-485BD模块在做RS485通讯时,RDA连接SDA,RDB连接SDB,发送的信号同样会回到接收线上,因此接收完成标志会产生两次(第一次接收的字符为发送的字符,第二次接收的信号才是变频器的应答信号),务必小心处理。
※ 发送、接收标志的处理:发送启动只需要一次,即置位一次M8122,通讯指令RS需要长期驱动,直至发送和接收都完成。发送完成后M8122自动复位,接收完成则M8123置位。处理完接收数据后,需对M8123手工复位。
※ 超时标志的处理:接收数据途中中断时,如在D8129指定的时间内不再重新开始数据接收,做为超时输出标志位M8129变为ON,则接收结束。M8129不能自动复位,需手工复位。
※ 协议内容
该串行通信协议定义了串行通信中传输的信息内容及使用格式。其中包括:主机轮
询(或广播)格式;主机的编码方法,内容包括:要求动作的功能码,传输数据和错误
校验等。从机的响应也是采用相同的结构,内容包括:动作确认,返回数据和错误校验
等。如果从机在接收信息时发生错误,或不能完成主机要求的动作,她将组织一个故障
信息作为响应反馈给主机。
※ 应用方式
变频器接入具备RS232/RS485总线的“单主多从”PC/PLC控制网络。
※ 总线结构
(1)接口方式:RS232/RS485硬件接口
(2)传输方式:异步串行,半双工传输方式。在同一时刻主机和从机只能有一个发送 数据而另一个只能接收数据。数据在串行异步通信过程中,是以报文的形式,一帧一帧发送。
(3)拓扑结构:单主机多从机系统。从机地址的设定范围为1~247,0为广播通讯地址。网络中的从机地址必须是唯一的。
※ RTU帧格式(详见MD320串行通讯协议)
START(无帧头)
3.5个字符时间
从机地址ADR
通讯地址:1~247 ,广播地址:0
命令码CMD
03:读从机参数;06:写从机参数
数据内容DATA(N-1)
资料内容:
功能码参数地址,功能码参数个数,功
能码参数值等。
数据内容DATA(N-2)
……
数据内容DATA0
CRC CHK高位
检测值:CRC值。
CRC CHK低位
END(无帧尾)
3.5个字符时间
※ 变频器设置:
F0-02 =2, 命令源选择为通讯方式给定;
F0-03 =9, 频率源选择为通讯方式给定;
FD-00 =5, 波特率选择为9600;
FD-01 =0, 无校验:数据格式<8,N,2> ;
FD-02 =1, 变频器地址为1;
FD-03 =10, 应答延时10ms;
FD-04 =0.0,通讯超时时间0.0s。
※ 接线方式
首先将FX2N-485-BD上的RDA-SDA端子短接,RDB-SDB端子短接;然后RDA接变频器通
讯卡的485+,RDB接变频器通讯卡的485-。
※ 程序构架
X0闭合→置位M0→发送1#机运行命令→置位M1→发送1#机运行频率命令(50.00%)
X3闭合→置位M3→发送广播停机命令
※ 程序说明
1. 通讯格式[D8120]:波特率9600,无校验,8位数据位,2位停止位,无帧头和帧
尾;使用FX2N-485-BD通讯模块。
2. M8161置位表示8位处理模式,其适用于FNC76(ASC)、FNC80(RS)、FNC82
(ASCI)、FNC83(HEX)、FNC84(CCD)指令。
3. 通讯超时[D8129]设定为10ms。
4. X0闭合→置位M0→发送1#机运行命令→置位M1→发送1#机运行频率命令(50.00%)
X3闭合→置位M3→发送广播停机命令。
5. P0子程序为CRC校验程序。