PC与三菱FX系列PLC的串口通信实现方法
PC与三菱FX系列PLC的串口通信实现方法
174
福建电脑2008年第8期
PC与三菱FX系列PLC的串口通信实现方法
徐
征
(华东交通大学电气学院江西南昌330013)
摘要】【:本文介绍PC与三菱FX系列PLC串口通信协议和实现方法。当采用专用协议进行通信时,PLC处于被动状态,只需要进行相关设置就可以实现数据的传输。PC机端采用VC++中调用串口读写函数的方法,介绍了串口的初始化、读操作、写操作和关闭串口实现的方法和部分关键代码。
关键词】【:FX系列PLC,串口通信,VC++引言0、
自1969年第一台可编程控制器(PLC)面世以来,经过几十
年的不断发展,已经成为一种渗透各个工业领域的相当重要的控制器。为了既能利用PLC的速度快、体积小、可靠性高、编程灵活的特点,又能充分结合PC的强大的数据处理能力和友好的人机接口,PLC和PC都提供了良好的通信接口。目前市场上流行的PLC型号很多,最具有竞争力的主要有西门子公司、三菱公司的产品[1]。我们这里主要介绍三菱公司的FX系列PLC与PC的通信协议及具体的实现方法。计算机专用通信协议1、
PLC与PC的串口通信可采用三种通信协议:计算机专用通信协议,无协议通信(采用RS命令进行数据通信)和自由协议通信。通常,最常用的为计算机专用通信协议,下面我们具体的介绍计算机专用通信协议。1.1传输数据的基本格式
计算机专用通信协议有2种格式:格式1和格式4。他们的区别仅仅在于格式4的最后加上了CR+LF这两个尾代码。具体格式如下:
此时头代个单元为03H。当PLC接收到PC的读命令就会回复。
码为STX(02H)接着为PLC的机站号和PC号,然后就是传送读的单元的内容,每一个字的地址单元的数据为4个16进制AS-CLL码,尾代码为ETX(03H)。当PC接收到数据后也会迅速回复,头代码若为ACK(06H)则表示传输正确,若为NCK(15H)则表示无效传输,接着为PLC的机站号和PC号。于是,完成一次读操作。
1.3PC往PLC中写数据
PC往PLC中写数据的命令也有两个:BW和WW。BW是以位为单位进行读,而WW是以字为单位读数据。他们读的方式及格式大体相似。如图3,我们以通信格式1为例具体介绍PC往PLC中以字为单位写数据的过程[2]:
计算机首先发出写的命令,其中在Headdevice的5个单元中为PLC中读的首地址。Numberofdevices为读的单元的个数。Dataofthespecifieddevices中为写的内容,前4个16进制AS-CLL码为首地址中写入的内容,然后依此类推。当PLC接收到PC的写命令也需要回复。PLC回复的头代码若为ACK(06H)则表示传输正确,若为NCK(15H)则表示无效传输,接着为PLC的机站号和PC号。这样也就完成了一次写操作。
图1传输数据的基本格式
PLC与PC传输的所有数据都必须转换为十六进制的ASCLL码形式。ENQ、CR和LF他们分别表示05H、0CH和0DH。其中
对于FX系PLC机站号可以在PLC中设置,范围由00H到0FH。
列的PLC,PC号默认为FFH。等待时间设置的是PLC发送数据后,能够从PC接收到数据所需要等待的最短时间。等待时间的图3PC往PLC中以字为单位写数据的过程设置范围由0-150ms,以10ms为增量。0-F表示的是0-150ms。2、PC与PLC通信的实现方法
它用来校验数据在传2.1在PLC中的实现和校验可以通过设置选择,也可以不选择。
输的过程中是否遭到破坏。和校验码是2个16进制ASCLL码,只要PC与PLC的通信采用计算机专用协议,那么PLC总他等于从PLC机站号开始到数据区所有数据求和的最后两位。处于被动状态,不需要编程就可以自动实现与PC的数据传输。最后是尾代码,它只有在通信格式设置为格式4的时候才需要但是有一些参数需要在PLC中进行设置。需要设置的主要有通加上。读写命令和数据区具体在PLC与PC的读写中详述。信初始化设置、PLC机站号设置和超时时间设置。1.2PC从PLC中读数据PLC中的通信专用寄存器D8120主要设置初始化通信格
奇偶校验,结束位数、波特率等设PC从PLC中读数据的命令有两个:BR和WR。BR是以位式,其中包括传输数据长度、
为单位进行读,而WR是以字为单位读数据。他们读的方式及格置。数据长度为8位,无奇偶校验,1位结束位,波特率为式大体相似。如图2,我们以通信格式1为例具体介绍PC从9600bit/s,采用计算机专用通信协议,无和校验,采用通信格式PLC中以字为单位读数据的过程[2]:1,则



D8120设置为:
另外我们还需要寄存器D8121中设置PLC的机站号,例如
只有一台则可以设置为00F:



图2PC从PLC中以字为单位读数据的过程
计算机首先发出读的命令,其中在Headdevice的5个单元中为PLC中读的首地址,例如D0202,X0040等等。Numberofdevices为读的单元的个数。若读D0202-D0204中的数据,则这
,时间。超时时间可以在寄存器D8129中设置,设置的时间可根据PLC型号和版本以及数据传输的波特率确定,例如将超时时间设置为60ms:
你可能喜欢
- PLC程序
- 三菱PLC编程实例
- 学习三菱PLC
- 三菱PLC编程手册
- PLC学习资料
- PLC测试程序的使用说明1页
- PLC程序16页
- 计算机上传和下载PLC程序20页
- PLC流水灯程序7页
- PLC程序的经验设计法25页
- PLC程序设计2页
- 2011-学习资料大全:三菱PLC编程实例16页
- 三菱PLC编程实例22页
- 2011-学习资料大全:三菱PLC编程实例38页
- 三菱PLC编程实例--2012-PLC编程资料大全98页
- 三菱编程FX系列PLC与三菱变频器通讯应用实例4页
- 三菱PLC编程实例22页
- 2011-学习资料大全:三菱PLC编程实例16页
- 三菱PLC基础学习教程227页
- 三菱PLC基础学习教程123页
- 2011-学习资料大全:三菱PLC编程38页
- 苏州三菱PLC 培训知识问答 苏州三菱PLC培训 三菱PLC学习内容1页
- 2011-学习资料大全:三菱PLC编程实例 wym%98页
- 三菱PLC编程手册[1]76页
- 三菱PLC FX2N编程手册11页
- 三菱PLC编程手册76页
- 三菱FX-PLC仿真与编程应用手册27页
- 三菱PLC手册编程手册26页
- 三菱FX-PLC仿真与编程应用手册27页


