计算机链接功能,就是以计算机作为主站,最多连接16台(RS485)FX系列可编程控制器或者A系列可编程控制器,进行数据链接的功能。而RS232直接与计算机直接链接,所以这里真对一台PLC与计算机通讯进行讲解。因为这里的计算机为主站,所以主要是计算机对PLC进行参数的读写控制。这里用的是FX3U-232-BD通讯块。
1. 通信规格(参考)
按照下列规格执行通信, 波特率等内容是用编程工具的参数或是顺控程序进行设定的。
注意:1.38400bp的波特率只有FX3G型号的支持。
2.RS232通讯距离不于15米。
2. 指令
说明了与计算机链接时使用的专用协议的指令的指定方法,各指令的参考项目如下表所示。
说明:对于这里用的指令协议有已上多条,但我们可以真对的记录几条,比如读“READ”,写“WRITE”;前面再加上前缀如“B”,“W”等,“B”为位,“W”为字。所以BR为位读取,WR为字读取,BW为位写入,WW为字写入。至于另的指令可以兴趣记录下。
3. 专用协议的基本格式
专用协议的控制顺序中包括2种形式。
在各块中没有附加CR、LF的为协议格式1, 附加的为协议格式4。
(型号与A系列可编程控制器用的计算机链接模块相同)
以下说明了各个形式的控制协议的内容以及控制协议中要指定的各项目的内容等有关情况。
控制顺序(协议)的基本格式如下所示。
*1. 可以通过参数选择是否要附加和校验码。
*2. 可以通过协议的种类选择是否要附加控制码。
协议格式1的控制顺序如下所示
协议格式4的控制顺序如下所示
3.1 控制码
控制码如下表所示
3.2 站号
站号就是设置在可编程控制器一侧的, 用于决定计算机与哪个可编程控制器进行存取的编号。
站号采用16进制数进行设定,范围为00H-0FH。这里是说你要设置出PLC的站号,这样就知道要和那一块PLC进行通讯了。在PLC通讯设置里有设置项,下面会有说明。
3.3 PC号
PC号就是在A系列可编程控制器中, MELSECNET(Ⅱ)或MELSECNET/B与计算机链接混合使用时, 用于识别与哪个
可编程控制器之间进行存取的编号。因此, FX系列可编程控制器的PC号固定为FFH, 转换成2位数的ASCII码后
使用。这里就设定为FFH。
3.4 指令
就是指定计算机对相应的可编程控制器要执行什么内容的存取。
转换成2位数的ASCII码后使用。下面会有介绍
3.5 报文等待
由于使用计算机发送信息后, 到变为接收状态为止需要一定时间, 报文等待就是规定这个时间。请根据计算
机的规格设定相应的等待时间。
请以10ms为单位,在0~150ms的范围内设定等待时间。按照10ms为1时,将0H~FH(0~15)转换成1位数的ASCII
码后使用。如是A则等待时间为100ms,为B时为110ms,为9时为90ms
在使用485PC-IF的1:n的系统中, 用1对接线进行通信时, 请务必将报文等待时间设定在70ms以上(7以上)。此
外, 当系统中的可编程控制器的扫描时间有可能会超出70ms时, 请设定为超过最大扫描时间的值。
3.6 和校验码
和校验码就是将作为和校验对象的数据按16进制数据进行加法运算,并将得出的结果(求和)的低位1个字节(8位
)转换成2位数的ASCII码。
可以通过FX可编程控制器的参数设定, 设定是否需要在报文中附加和校验码。
- 有“和校验” 时, 在发送时在报文中附加和校验码, 在接收时将接收到的数据计算得出的数值与和校
验码比较以检查接收的报文,
- 无“和校验” 时, 不附加和校验码, 也不对接收到的数据进行检查。
和校验码的计算例如下所示。
〈例如〉以协议格式1, 传送站号0、PC号FF、指令BR(软元件内存的成批读出)、报文等待时间30ms、数
据“ABCD” 时的和校验码的数值如下所示。
上图可以看出,把从站号到字符区的从数值加就可以得到和校验码。注意这里是16进制相的。
4. 位软元件内存的读出/写入的情况
4.1 位单位(1点单位)
以位为单位处理位软元件内存时,从指定的起始软元件开始的指定的点数软元件从左起依次为ON时,显示
“1” (31H),依次为OFF时显示“0” (30H)。
例如)表示从M10开始的5点M的ON/OFF时
说明:红笔X去的零是多出来的。
4.2 字单位(16点单位)
以字为单位处理位软元件内存时, 以4位为单位从高位开始依次用16进制数表示1个字。
例如)表示从M16开始的32点M的ON/OFF时
- 通信格式设定-[D8120, D8420]
D8120的内容
D8420的内容
*1.仅FX3G可编程控制器对应。
- ASCII码表
ASCII码表(8位代码, 16进制显示)
- 计算机链接(RS232)实例说明
这里用到的PLC为FX3U系列,通讯模块FX3U-232-BD。通信格式设定如下图所示:
说明:1.双击PLC参数,打开参数设置窗口;
2.进行通信设置打“√”,只有选择后下图的才会变为可选
3.协议选用“专用协议通信”
4.要选上和校验“√”
5.传送控制步骤“格式4(有CR,LF)”可以选择“格式1(无CR,LF)”
6.站号设置为00H,因为这里只有一台,所以站号为00
通讯参数设置如上图所示,这里用到的是格式4,有CR,LF的。通过ACSII表可以查出,CR为0D,LF为0A,所以通讯过最后要加上ODOA;反之侧不用加OD0A。设置好后就下载到PLC里,并连接好通讯线。我用的是USB-RS232的转接线,打开设置管理器如下图,可以看到这里的COM口是12端口,所示打开串口调试助手也要选择COM12。
7.1 这里我们用位写入指令还做一个实验,M100写入1。通过下表可以看出来要发送的数据为16进制的。
ENQ | 0 | 0 | F | F | B | W | A | M | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 6 | 6 | CR | LF |
05H | 30H | 30H | 46H | 46H | 42H | 57H | 41H | 4DH | 30H | 31H | 30H | 30H | 30H | 31H | 31H | 36H | 36H | 0D | 0A |
控制代码 | 站号 | PC号 | 指令 | 报文等待 | 起始软元件 | 软件元件点数 | 数据 | 和校验 | 控制码 |
和校验=30H+30H+46H+46H+57H+41H+4DH+30H+31H+30H+30H+30H+31H+31H结果等于366H
这里执行的结题是对M100制1 而如果对M100制0则各校验为365H。如下图所于:
置位M100
复位M100
同理对M101置为如下图:
7.2 下面来写位写入6位的情况,如下参数,红色里分别是M100,M102,M103,M105同时置1。
05H 30H 30H 46H 46H 42H 57H 41H 4DH 30H 32H 30H 30H 30H 36H 31H 30H 31H 31H 30H 31H 35H 46H 0D 0A
7.3 下面是做字读取的实例,实据设置如下表所示,可以看出是对D302的值读取出来,为16位数据。
ENQ | 0 | 0 | F | F | W | R | A | D | 0 | 3 | 0 | 2 | 0 | 2 | 4 | 1 | CR | LF |
05H | 30H | 30H | 46H | 46H | 57H | 52H | 41H | 44H | 30H | 33H | 30H | 32H | 30H | 32H | 34H | 31H | 0D | 0A |
控制代码 | 站号 | PC号 | 指令 | 报文等待 | 起始软元件 | 软件元件点数 | 和校验 | 控制码 |
写入:05H 30H 30H 46H 46H 57H 57H 41H 44H 30H 33H 30H 30H 30H 32H 30H 32H 30H 30H 30H 30H 30H 30H 43H 36H 0D 0A
通讯上面两张图可以看出来,10与11别分对就为A与B。图中红笔画出来的位置可以看出来。下图也可以看出来,为100的值读取回来的数据为红笔画出来的部分为,上面一行为16进制表示的,下面一行为ACSII码表示的。
通过这几个实例可以看出来,这里用RS232与计算机通讯的实例通讯无误,而且设置方便。