本文介绍的 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发送:

命令

首地址

位数

和校验

STX

CMD

GROUP ADDRESS

BYTES

ETX

SUM

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

02h

30h

31h,30h,46h,36h

30h,34h

03h

37h,34h

地址算法:address=address*2+1000h,将123 转换为16进制*2 得F6,10F6

再转换成ASCII

31h,30h,46h,36h

PLC返回

STX

1ST DATA

2ND DATA

.....

LAST DATA

ETX

SUM

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

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

02h

33h

35h

38h

34h

03h

44h,36h

2、DEVICE WRITE(向PLC软设备写入值)

命令

首地址

位数

数据

和校验

STX

CMD

GROUP ADDRESS

BYTES

1ST DATA

2ND DATA

......

LAST DATA

ETX

SUM

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

02h

31h

31h,30h,46h,36h

30h,34h

33h,34h,31h,32h,43h,44h,41h,42h

03h

34h,39h

PLC返回

ACK (06H) 接受正确

NAK (15H) 接受错误

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

FORCE ON置位

命令

地址

和校验

STX

CMD

ADDRESS

ETX

SUM

02h

37h

address

03h

sum

FORCE OFF复位

命令

地址

和校验

STX

CMD

ADDRESS

ETX

SUM

02h

38h

address

03h

sum

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,D

DEVICE WRITE CMD

"1"

X,Y,M,S,T,C,D

FORCE ON CMD

" 7"

X,Y,M,S,T,C

FORCE OFF CMD

"8"

X,Y,M,S,T,C

传输格式: RS232C
  波特率: 9600bps
  奇偶: even
  校验: 累加方式(和校验)
  字符: ASCII 

16进制代码:

ENQ

05H

请求

ACK

06H

PLC正确响应

NAK

15H

PLC错误响应

STX

02H

报文开始

ETX

03H

报文结束

帧格式:

STX

CMD

DATA

......

DATA

ETX

SUM(upper)

SUM(lower)

例子:

STX ,CMD ,ADDRESS, BYTES, ETX, SUM

02H, 30H, 31H,30H,46H,36H, 30H,34H,  03H, 37H,34H

SUM=CMD+......+ETX;

30h+31h+30h+46h+36h+30h+34h+03h=74h;

累加和超过两位取低两位

三菱FX系列PLC编程口通信协议举例相关推荐

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

    该协议实际上适用于PLC编程端口以及FX-232AW模块的通信 通讯格式       命令(CMD)   命令码    目标设备  DEVICE READ  CMD    "0"  ...

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

    三菱FX 系列PLC 编程口通信协议总览 该协议实际上适用于PLC 编程端口以及 FX-232AW 模块的通信 通讯格式 命令 命令码 目标设备 DEVICE READ CMD "0&quo ...

  3. 三菱FX系列plc编程软件SWOPC-FXGP/WIN-C中文版下载

    SWOPC-FXGP/WIN-C 由本站工控资料分享专业户提供 三菱编程软件SWOPC-FXGP/WIN-C为一个可应用于三菱FX系列可编程控制器PLC的编程软件,可在windows下运行,在SWOP ...

  4. PC与三菱FX系列PLC通信实例

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

  5. plc和pc串口通讯接线_三菱FX系列PLC与电脑之间串口RS232通讯协议简易解析

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

  6. 三菱FX系列PLC模拟量输入AD模块的使用方法和相关编程设置详解

    三菱FX系列PLC模拟量输入AD模块的使用方法和相关编程设置详解 本次以FX3U系列PLC的模拟量输入模块FX3U-4AD进行举例说明:  该模块的部分技术数据如下图所示,  该模块的接线端子排列 ...

  7. 三菱je-a系列伺服支持modbusrtu 协议吗_入门课程 | 三菱FX系列PLC的软元件介绍

    点击箭头处"工业之家",选择"关注公众号"!  三菱FX系列PLC的软元件介绍 PLC的软元件很多,主要有输入继电器.输出继电器.定时器.计数器.数据寄存器和常 ...

  8. 三菱FX系列PLC以太网通讯

    三菱FX系列PLC以太网通讯 BCBet-FX用于三菱FX1N/1S/2N/3U/3G/3S等系列PLC,以及汇川.禾川.士林等品牌PLC. BCBet-FX 以太网模块采用三通设计,不占用PLC通讯 ...

  9. 三菱FX系列PLC简单总结

    点击 三菱FX系列PLC简单总结 关注微信公众号:小平Linux工作室 获得"0基础学习PLC电气电工知识.数据结构与算法,STC89C51知识,嵌入式STM32.嵌入式Linux C/C+ ...

  10. 三菱FX系列PLC以太网连接西门子wincc软件

    三菱FX系列PLC以太网连接西门子wincc软件 三菱FX系列PLC,包括FX1N.FX2N.FX3U.FX3S.FX3G等:可以通过MCTCP和ModbusTCP两种以太网方式连接西门子wincc软 ...

最新文章

  1. 一行代码,揭开CPU执行原理!
  2. 人工智能其实并不客观,算法会加剧刻板印象
  3. [Linux] Linux smaps接口文件结构
  4. Python程序练习题6.2
  5. 转:Python中的文件和目录操作
  6. 局域网怎么查看单位摄像头_一行代码,实现多平台文件查看传输!
  7. 【免费】前端设计师必须知晓的网站(1)
  8. Centos7 配置交换内存Swap
  9. java报刊管理系统_Java课程设计——报刊管理系统
  10. PHP 报错 Resource temporarily unavailable 无法删除上传的资源
  11. 2019 告辞了您嘞 ~
  12. linux服务器实现AD域认证,Linux下用户启用Windows AD做集中认证
  13. java jpress,JPress导入Eclipse
  14. 计算机复制方法有,电脑复制粘贴怎么用(6种电脑复制粘贴方法)
  15. 京东物流实时风控实践
  16. mysql启动报错ERROR 2003 (HY000) Can‘t connect to MySQL server on ‘localhost3306‘ (10061)解决办法
  17. 苹果笔记本-MAC系统 上安装使用Windows系列(win7\win8\win10)
  18. 摇杆芯片速度测试软件,摇杆控制小车+L9110芯片
  19. 瑞昱 RTL8188CE Wireless LAN 802.11n PCI-E NIC支持5G吗
  20. 需求、需求分析、设计 思想

热门文章

  1. 与MySQL的纠缠(卸载与安装)
  2. powerha_使用IBM PowerHA SystemMirror的Hitachi TrueCopy镜像
  3. 手机点餐APP开发需求分析
  4. 游戏自动化协议测试工具的开发个人思路
  5. photoshopCC 2018入门学习
  6. 解决Visual Studio 2015创建工程时的“DNX SDK version 'dnx-clr-win-x86.1.0.0-beta5' failed to install.”错误
  7. 无刷直流电机matlab建模,基于MATLAB的无刷直流电机建模方法_郭丹蕊
  8. maven安装使用手册之-----------------------maven介绍及安装部署
  9. 解决MAC删除应用程序后依然残留的图标
  10. ORACLE获取月初、月末日期