发布日期:2022-04-26 点击率:873 品牌:组态王_Kingview
PC 与三菱 FX 系列 PLC 通讯,是经过 PLC 的编程口与 PC 机的串口进行的,选用 SC-09 编程电缆作为核算机与 PLC 通讯的连线。电缆的 9 芯 D 形插头联接在核算机串口上,另一端联接 PLC 的 RS-422 编程口。
编写 PC 的通讯程序可选用汇编言语、各种高档言语,也能够选用工控组态软件或直接选用 PLC 厂家的通讯软件。这篇文章选用 VB6 . 0 软件,它有必要依据所联接 PLC 的通讯规程来编写通讯协议,所以先简略介绍 FX 系列 PLC 的通讯协议。
一、 FX 系列 PLC 的通讯协议
1 .数据传输格局
FX 系列 PLC 选用异步格局,由 1 位开端位、 7 位数据位、 l 位偶校验位及 l 位间断位构成,波特率为 9600bps ,字符为 ASCi Ⅱ码。
2 .通讯指令
FX 系列 PLC 有 4 条通讯指令,即读指令、写指令、强行通指令、强行断指令。表 1 中, X 为输入继电器; Y 为输出继电器; M 为辅佐继电器; S 为状况元件; T 为守时器; C 为计数器; D 为数据寄存器。
3 .通讯操控字符
FZ 系列 PLC 选用面向字符的传输规程,用到 5 个通讯操控字符,如表 2 所示。
4 .报文格局
PC 机向 PLC 发送的报文格局如表 3 所示。其间, STX 为开端象征; ETS 为完毕象征; CMD 为指令的 ASC Ⅱ码: SUMH 、 SUML 为从 CMD 到 ETX 按字节求累加和,溢出不计。因为每字节十六进制数变为两字节 ASC Ⅱ代码,故校验和为 SUMH 与 SUMI 。
PLC 向 PC 机发送的应对报文格局如表 4 所示。
二、 PC 通讯程序的编写
1 .通讯口初始化
, MSComm 控件简介: VB 带有专门处理串行通讯的 MSComm 控件。只需设置几个首要参数就能够完毕 PLC 与 PC 间的串行通讯。要完毕通讯有必要设置 MSComm 的挨近特征值,即通讯口初始化,其进程如下:
(1)CoinmPort :设置或传回通讯联接端口代号。
(2)Settings :设置初始化参数。以字 - 符串的办法设置或传回联接速度、奇偶校验、数据位、间断位等 4 个参数。
(3)PortOpen :设置或传回通讯联接端口的状况。
(4)Input :从输入寄存器传回并移除字符。
(5)Output :将一个字符串写入输出寄存器。
(6)InputLen :指定由串行端口读入的字符串长度。
(7)InBufferCount:传回在接纳寄存器中的字符数。
2 .通讯程序举例
首要,在窗体开端方案之前,增加 MSComm 控件和按钮、文本框、标签等。
(1)PC 从 PLC 中读取数据
假定 PC 要从 PLC 中读入从 D123 开端的 4 个字节的数据 ( 占用两个数据寄存器: D123 、 D124) ,其报文如表 5 所示。
依据三菱 FX 系列 PLC 编程口通讯协议,地址算法为
address=address×2+1000h
将地址 123 改换成十六进制为 7Bh ,因此首地址为:
address=addressx2+1000h=7Bhx2+1000h=10F 6h .
再改换成 ASCII 码为 31h,30h,46h,36h
校验和 SUM=30H+31H+30H+46H+36H+30H+34H+03H=174H ,溢出有些不计,故 SUMH 为 "7" , SUML 为 "4" ,相应的 ASC Ⅱ码为“ 37H ”和“ 34H ”。
PLC 的应对报文格局如表 6 所示。
(2) 把数据写入 PLC
例如,向 PLC 的 D123 数据寄存器写入数据“ 1234ABCD ”的报文格局如表 7 所示
这篇文章介绍的运用 VB6 . O 完毕 PC 与三菱 PLC 通讯的根柢办法,真实可行,具有广泛的有用价值。对初专家很有协助。
三菱FX系列PLC编程口通讯协议举例
1、DEVICE READ(读出软设备状况值)
核算机向PLC发送:始指令首地址位数终和校验STXCMDGROUP ADDRESSBYTESETXSUM
比方:从D123开端读取4个字节数据
02h30h31h,30h,46h,36h30h,34h03h37h,34h
地址算法:address=address*2+1000h,将123 改换为16进制*2 得F6,10F6
再改换成ASCII
31h,30h,46h,36h
PLC回来STX1ST DATA2ND DATA.....LAST DATAETXSUM
注:最多能够读取64个字节的数据
比方:从指定的存储器单元读到3584这个数据02h33h35h38h34h03h44h,36h
2、DEVICE WRITE(向PLC软设备写入值)
始指令首地址位数数据终和校验STXCMDGROUP ADDRESSBYTES1ST DATA2ND DATA......LAST DATAETXSUM
比方:向D123开端的两个存储器中写入1234,ABCD
02h31h31h,30h,46h,36h30h,34h33h,34h,31h,32h,43h,44h,41h,42h03h34h,39h
PLC回来
ACK (06H) 承受准确
NAK (15H) 承受差错
3、位设备强行置位/复位
FORCE ON置位
始指令地址终和校验STXCMDADDRESSETXSUM02h37haddress03hsum
FORCE OFF复位
始指令地址终和校验STXCMDADDRESSETXSUM02h38haddress03hsum
PLC回来
ACK(06H) 承受准确
NAK(15H) 承受差错
设备强行中的地址公式:Address=Address/8+100h
阐明:
1.帧中的BYTES标明需求读取或许写入的字节数。
2.地址算法上有阐明。
3.累加和是从STX后边一个字节开端累加到ETX的和。
三菱FX系列PLC编程口通讯协议总览
该协议实习上适用于PLC编程端口以及 FX-232AW 模块的通讯。谢谢网友visualboy供应。
通讯格局:
指令指令码方针设备DEVICE READ CMD"0"X,Y,M,S,T,C,DDEVICE WRITE CMD"1"X,Y,M,S,T,C,DFORCE ON CMD" 7"X,Y,M,S,T,CFORCE OFF CMD"8"X,Y,M,S,T,C
传输格局: RS232C
波特率: 9600bps
奇偶: even
校验: 累加办法(和校验)
字符: ASCII
16进制代码:
ENQ05H恳求ACK06HPLC准确照应NAK15HPLC差错照应STX02H报文开端ETX03H报文完毕
帧格局:
STXCMDDATA......DATAETXSUM(upper)SUM(lower)
比方:
STX ,CMD ,ADDRESS, BYTES, ETX, SUM02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34H
SUM=CMD+......+ETX;30h+31h+30h+46h+36h+30h+34h+03h=74h;累加和逾越两位取低两位
下一篇: PLC、DCS、FCS三大控
上一篇: MATLAB和Simulink在航