FX系列PLC与PC的通信研究
时间:2025-04-19
时间:2025-04-19
PLC与上位机通信以及PLC组网的相关资料
第28卷第3期2010年6月青海大学学报(自然科学版)JournalofQinghaiUniversity(NatureScience)Vol 28No 3Jun 2010
FX系列PLC与PC的通信研究
冯忠岭,童英华,韩 丽
(青海师范大学,青海西宁 810008)
摘要:介绍了FX系列PLC与PC的通信,从软、硬件角度分别给出了不同的解决方案。指出了编程口通信与计算机链接通信在通信参数配置和通信帧格式上的不同以及软元件地址的计算方法,同时列举了一个完整的PC与PLC通信实例的程序代码。关键词:可编程控制器;通信方式;通信帧;程序设计
中图分类号:TN911 2 文献标志码:B 文章编号:1006-8996(2010)03-0047-04
ResearchoncommunicationbetweenPLCofFXseriesandPC
FENGZhongling,TONGYinghua,HANLi(QinghaiNormalUniversity,Xining810008,China)
Abstract:AnumberofproblemsonthecommunicationbetweenPLCofFXseriesandPCareana lyzedandsolutionstotheproblemsinsoftwareandhardwarearegiven.Thedifferencesbetweenthe
programmingportcommunicationandcomputer linkingcommunicationinparameterconfigurationandframeformatarepointedou,tandthemethodtocalculateaddressesofsoftwareswitchesisputforward.Also,bytakingVB6 0asanexample,acommunicationprogramcodeforPCisgiven.Keywords:seriesPLCofFX;communicationpattern;communicationframe;communicationprogram在现代工业生产中,可编程控制器(ProgrammableLogicController,PLC)由于其安全可靠,运行寿命长,广泛地用于数据采集与控制。在此过程中,要进行PC与PLC间的通信,从而达到PC对PLC进行集中或集散远程监控目的。本文就FX系列PLC与PC的通信问题进行了分析并列举了程序实例。
1 FX系列PLC与PC的通信方式
1 1 编程口通信
FX系列的SC-09编程口是用于PLC编程器编写梯形图,该接口也用于PC安装FXGP编程软件后通过串口编写梯形图。实际上通过SC-09,就可以实现PC与PLC的通信,称为编程口通信。
编程口的通信参数是固定的:传输速率9600bps,偶校验方式,7位数据位,1位停止位端口通信时只需在上位机程序中将串口通信参数也设为此配置即可。1 2 计算机链接通信
一台计算机与多台PLC通信,称为1 N网络,一台计算机最多可连16台PLC,每台PLC上都有相应的RS-485接口适配器或接口功能扩展板。计算机首先要与FX-485PC-IF通信接口模块相连,完成RS-232C与RS-485之间的信号转换,之后其他PLC与首台PLC通过RS-485通信模块直接或间接相连接。要注意的是计算机与多台PLC通信时要在每台PLC的特殊数据寄存器D8120中设定通信参数,D8121中设置站号,D8129中设置发送超时/等待时间(单位为10ms)
[2]
[1]
,PC与此
。设置好D8120、D8121、
D8129将PLC关闭重启,使设置生效。与编程口通信不同,计算机链接通信参数不是固定的,可按实际
情况自由配置。
收稿日期:2010-03-10
),男,青海湟源人,硕士。
PLC与上位机通信以及PLC组网的相关资料
48
青海大学学报第28卷
1 3 无协议通信方式
对于FX系列的FX2N型PLC,在用上述两种方式与PC进行硬件连接后,还可以用RS、FROM/TO(使用FX2N-232IFBFM连接时)功能指令与PC进行无协议通信杂,主要用于PLC和扩展模块间通信。
[3]178
,这种通信方式的PLC编程复
2 FX系列PLC的通信协议
2 1 通信命令码和控制字符
计算机要与PLC建立通信时,要向PLC发送一串命令字,PLC根据接收到的这串指令就可判断出下步要做的工作。FX系列PLC有4种命令码,即读命令0(30H)、写命令1(31H)、强制通7(37H)、强制断8(38H)。FX系列采用面向字符的传输规程,用到5个通信控制字符,其中ENQ(05H)用于向计算机发出请求,ACK(06H)是PLC对ENQ的确定回答,NAK(15H)是PLC对ENQ的否定回答,STX(02H)是信息帧开始标志,ETX(03H)是信息帧结束标志。2 2 通信帧格式
PC侧:!发送通信请求的帧
ENQ
站号
PLC号
命令码
等待时间
首地址
数量
和校验
得到PLC正确响应后发送数据的帧
STX
站号
PLC号
命令码
数据
EXT
和校验
PLC侧:
ACK
站号
PLC号
或
NAK
站号
PLC号
上述帧格式中站号是1 N通信时在D8121中事先设定好的PLC编号,其值为00H~0FH。PLC号是用来标识PLC的CPU型号的,对于FX系列PLC,其值为#FF 。尤其要注意的是在编程口通信时通信帧中无须包括站号和PLC号。CMD为通信命令码。通信时帧内容必须转换成用十六进制的ASCII码表示。
[1]
FX系列PLC内部元件地址没有公开,但不同的字元件和位元件可遵循一定的规律得到。字元件C、T、D的地址算法为ADDRESS=ADDRESS*2+xH,C、T、D的xH分别为0A00H,0800H,1000H。位元件X、Y、M、S及C、T、D的位映象在进行批量读或写时,其地址可在FX编程口协议查询表的地址中查到,当进行位(映象)元件强制ON或OFF时,其地址可由字地址进行转换为位地址而得到。
传输的通信帧中的校验和是将命令码到ETX间所有字符的十六进制ASCII码值相加取其和的最后两位,若校验和有两位,则在高位补0,补足两位。
3 PC与PLC通信程序设计
本文以液位控制系统为例演示PC与PLC通信程序的设计。其中PC运秆VB监控程序(显示PLC采集到的一系列相关信息),管理PLC以及电机。PLC负责采集水位信息(上液位、下液位)、控制电机的启动与运行。设计采用编程口通信,有自动和手动两种工作方式。程序代码如下:
3 1 上位PC机程序
!用mscomm控件对PC串口初始化,通信 …… 此处隐藏:3203字,全部文档内容请下载后查看。喜欢就下载吧 ……
下一篇:电费结算单