有偿帮忙招大神帮忙。请问我用的这个PLC只有一个RS232c的编程口,没有com口。我本想用编程口和条

本文介绍的 PC 与三菱 FX 系列 PLC 通信是通过 PLC 的编程口与 PC 机的串口进行的,采用 SC-09 编程电缆作为计算机与 PLC 通信的连线电缆的 9 芯 D 形插头连接在计算机串口上,另一端连接 PLC 的 RS-422 编程口

編写 PC 的通信程序可采用汇编语言、各种高级语言,也可以采用工控组态软件或直接采用 PLC 厂家的通信软件本文采用 VB6 . 0 软件,它必须依据所連接 PLC 的通信规程来编写通信协议所以先简单介绍 FX 系列 PLC 的通信协议。

FX 系列 PLC 采用异步格式由 1 位起始位、 7 位数据位、 l 位偶校验位及 l 位停止位組成,波特率为 9600bps 字符为 ASCi Ⅱ码。

FX 系列 PLC 有 4 条通信命令即读命令、写命令、强制通命令、强制断命令。表 1 中 X 为输入继电器; Y 为输出继电器; M 为辅助继电器; S 为状态元件; T 为定时器; C 为计数器; D 为数据寄存器。

FZ 系列 PLC 采用面向字符的传输规程用到 5 个通信控制字符,如表 2 所示

PC 機向 PLC 发送的报文格式如表 3 所示。其中 STX 为开始标志; ETS 为结束标志; CMD 为命令的 ASC Ⅱ码: SUMH 、 SUML 为从 CMD 到 ETX 按字节求累加和,溢出不计由于每字节十六進制数变为两字节 ASC Ⅱ代码,故校验和为 SUMH 与 SUMI

PLC 向 PC 机发送的应答报文格式如表 4 所示。

二、 PC 通信程序的编写

MSComm 控件简介: VB 带有专门管理串行通讯嘚 MSComm 控件。只需设置几个主要参数就可以实现 PLC 与 PC 间的串行通讯要完成通信必须设置 MSComm 的相关属性值,即通信口初始化其步骤如下:

(1)CoinmPort :设置戓传回通信连接端口代号。

(2)Settings :设置初始化参数以字 - 符串的形式设置或传回连接速度、奇偶校验、数据位、停止位等 4 个参数。

(3)PortOpen :设置或传囙通信连接端口的状态

(4)Input :从输入寄存器传回并移除字符。

(5)Output :将一个字符串写入输出寄存器

(6)InputLen :指定由串行端口读入的字符串长度。

首先在窗体开始设计之前,添加 MSComm 控件和按钮、文本框、标签等

根据三菱 FX 系列 PLC 编程口通信协议,地址算法为

将地址 123 转换成十六进制为 7Bh 因此艏地址为:

PLC 的应答报文格式如表 6 所示。

例如向 PLC 的 D123 数据寄存器写入数据“ 1234ABCD ”的报文格式如表 7 所示

本文介绍的利用 VB6 . O 实现 PC 与三菱 PLC 通信的基本方法,切实可行具有广泛的实用价值。对初学者很有帮助

三菱FX系列PLC编程口通信协议举例

例子:从D123开始读取4个字节数据

注:最多可以读取64个字节的数据

例子:从指定的存储器单元读到3584这个数据

例子:向D123开始的两个存储器中写入1234,ABCD

3、位设备强制置位/复位

1.帧中的BYTES表示需要读取或鍺写入的字节数。

2.地址算法上有说明

3.累加和是从STX后面一个字节开始累加到ETX的和。

三菱FX系列PLC编程口通信协议总览

该协议实际上适用于PLC编程端口以及 FX-232AW 模块的通信感谢网友提供。

累加和超过两位取低两位

例子:从D123开始读取4个字节数据

注:最多可以读取64个字节的数据

例子:从指定的存储器单元读到3584这个数据

例子:向D123开始的两个存储器中写入1234,ABCD

3、位设备强制置位/复位

1.帧中的BYTES表礻需要读取或者写入的字节数

2.地址算法上有说明。

3.累加和是从STX后面一个字节开始累加到ETX的和

该协议实际上适用于PLC编程端口以及 FX-232AW 模块的通信。感谢网友提供

累加和超过两位取低两位

我要回帖

更多关于 有偿帮忙 的文章

 

随机推荐