台达PLC与PC机串行通讯以及相应地址文档格式.doc

上传人:b****1 文档编号:13165697 上传时间:2022-10-07 格式:DOC 页数:7 大小:165KB
下载 相关 举报
台达PLC与PC机串行通讯以及相应地址文档格式.doc_第1页
第1页 / 共7页
台达PLC与PC机串行通讯以及相应地址文档格式.doc_第2页
第2页 / 共7页
台达PLC与PC机串行通讯以及相应地址文档格式.doc_第3页
第3页 / 共7页
台达PLC与PC机串行通讯以及相应地址文档格式.doc_第4页
第4页 / 共7页
台达PLC与PC机串行通讯以及相应地址文档格式.doc_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

台达PLC与PC机串行通讯以及相应地址文档格式.doc

《台达PLC与PC机串行通讯以及相应地址文档格式.doc》由会员分享,可在线阅读,更多相关《台达PLC与PC机串行通讯以及相应地址文档格式.doc(7页珍藏版)》请在冰豆网上搜索。

台达PLC与PC机串行通讯以及相应地址文档格式.doc

1.2通讯协议介绍

Modbus协议是应用于电子控制器上的一种通用语言。

通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。

它已经成为一通用工业标准。

有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。

此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。

它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。

它制定了消息域格局和内容的公共格式。

当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。

如果需要回应,控制器将生成反馈信息并用Modbus协议发出。

在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。

这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

控制器能设置为两种传输模式(ASCII或RTU)中的任何一种在标准的Modbus网络通信。

PLC与上位机通讯时,通常由上位计算机发出命令给PLC,PLC处于被动状态。

台达PLC所有通讯口都遵循Modbus通讯协议,出厂默认的通讯格式为“9600,7,E,1”、ASCII模式。

波特率为9600,数据长度为7位,数据校验方式为偶校验,结束字元长度为1位,以上参数可以通过WPL编程软件修改。

本文仅以ASCII通讯模式为例实现台达PLC与PC机的通讯。

ASCII通讯格式如表1所示:

Stx

Address

Function

Data

LRC

End

1位

1~32位

回车键

表1:

ASCII通讯格式

地址:

地址栈号范围为01~FF十六进制数(PLC站号地址)

功能码:

”01”读多个S、Y、M、T、C的状态,PLC返回一串数据,其中包含了读出的一系列装置的十六进制数。

“02”读取S、Y、M、T、C输入状态,PLC返回一串数据,其中包含了读出的一系列装置的十六进制数。

“03”读取D、T、C寄存器的值,返回数据串中包含寄存器值的十六进制数。

“05”强制使S、Y、M、T、C置位或复位,当数据内容为“FF00”置位,当为“0000”则复位。

“06”向PLC的D、T、C寄存器写值,值应为十六进制的。

LRC校验码:

LRC(LongitudinalRedundancyCheck)错误校验用于ASCII模式。

这个错误校验是一个8位二进制数,可作为2个ASCII十六进制字节传送。

把十六进制字符转换成二进制,加上无循环进位的二进制字符和二进制补码结果生成LRC错误校验(参见图)。

这个LRC在接收设备进行核验,并与被传送的LRC进行比较,冒号(:

)、回车符号(CR)及置入的其他任何非ASCII十六进制字符在运算时忽略不计。

范例如表2所示:

Data1

Data2

Data3

Data4

LRC

:

01

03

04

00

CR

表2:

LRC校验码计算示例

Address+Function+Data1+Data2+Data3+Data4=01+03+04+01+00+01=0A将0A的值周转换成2的补数,0A的2补数=F6。

2補數的求法:

(1補數再加1)

0A(H)=00001010(B)先取1補數(將b0~b7反相)得11110101(B),再加1為11110110(B)=F6(H)即為0A(H)的2補數。

2 软件实现

我们采用的是基于VB(VisualBasic)平台编写的驱动程序。

VB是一个可视化的高级语言,为用户提供直观的工作环境,为监控系统建立良好的用户界面奠定了基础。

VB采用事件驱动,编程与调试方便,可以快速地编制出性能良好的应用程序,

通过对串行通信控件MSComm的简单配置,就可以完成串行口的读写操作,是上位机监控系统常用的开发工具。

在PLC与上位机通信之前,必须对RS一232通讯端口进行初始化,包括波特率、起始位、数据位、停止位、奇偶校验等,使两者按照相同的格式通讯.C200HX的RS一232C通讯口一般设置为9600bps,7位数据位,1个停止位,偶校验,I位起始位.可对VB的MSComm控件的setting属性进行设置来实现对串口的初始化。

2.1MSComm控件

MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通信功能。

常用通信属性如下:

CommPort属性:

用来设置或返回通信端口号码。

Settings属性:

用来设置波特率、奇偶校验、数据位和停止位。

PortOpen属性:

用来设置或返回通信连接口的状态。

Input属性:

用于从输^缓存区返回并删除字符。

Output属性:

用于将一个字符串写入输出缓存区。

CommEvent属性:

在通信错误或事件发生时会产生OnComm事件,CommEvent属性存有该错误事件的数值码。

2.2通信程序的编写

此程序只涉及PC机与台达PLC通讯部分,计算机对外部信号处理本文稍后介绍

MSComm1.CommPort=1‘设置COM1通讯端口

IfMSComm1.PortOpen=FalseThen‘打开串口

MSComm1.PortOpen=True

EndIf

MSComm1.Settings="

9600,E,7,1"

'

.Settings:

设置并返回波特率9600、偶校验、数据位7位、停止位1位的通讯格式

MSComm1.InBufferCount=0‘清空接收缓冲区

MSComm1.OutBufferCount=0‘清空发送缓冲区

MSComm1.InputMode=0‘设置数据格式为字符形式

MSComm1.RTSEnable=True‘串口通讯使能

MSComm1.Output=符合协议的字符命令串‘PC向PLC发送数据

Text1.Text=MSComm1.Input‘PLC向PC机返回数据

MSComm1.PortOpen=False‘数据发送后关闭串口

EndSub

3通信示例

预设PLC站号地址为“01”,以下若没有特殊说明PLC站号地址均为“01”。

“CR”表示回车

3.1对辅助继电器M0操作

1)置位M0

05

08

FF

F3

Data1、Data2表示辅助继电器的地址,Data1放入地址的高8位,Data2放入地址的低8位,“FF00”表示置位放入Data3、Data4,LRC为校验码

PC向PLC发送字符命令串=“:

01050800FF00F3CR”

PLC向PC返回字符串=“:

2)复位M0

F2

“0000”表示复位放入Data3、Data4,其余同上不再解释。

010508000000F3CR”

010508000000F2CR”

若第三个数据位变为8,则通讯出现错误。

3.2对文件寄存器D512操作

1)向D512写入一个十进制数,如把D512设定为32,先将十进制数值转换为四位的十六进制数,32转换为0020,高低8位分别放入Data3,Data4

“1200”表示D512的地址高低位分别放入Data1、Data2

06

12

20

E6

010612000020C7CR”

2)读取PLC的D512值

E9

Data3、Data4中数据内容表示读取以Data1、Data2地址起始的寄存器个数,此值最大值为7(由通讯格式中数据位决定),若该数据内容为0002,则表示读取连续两个寄存器的值,依次类推。

1200表示D512的地址。

010312000001E9CR”

PLC向PC返回字符串“:

01030204B046CR”

02表示返回值字节总数为2(一个寄存器的字节数为2),04B0表示目标寄存器D512的数据内容(十六进制)即十进制数1200,46表示校验码。

4结束语

台达PLC与PC通讯的实现使PLC与GSM模块通讯成为可能。

PC机作为中转站完成Modbus通讯协议与GSM通讯协议的转换,使GSM无线数字蜂窝通讯网络运用于基于PLC的工业控制系统,实现制造装备的远程监测、诊断与维

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1