用VC 开发微机与OMRON PLC间的通讯程序

时间:2023-03-21来源:佚名
1、前言
可编程控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用了可编程序的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数和算术操作等面向用户的指令,并通过数字式或模拟式输入输出控制各种类型的机械的生产过程。可编程控制器及其有关外部设备,都按易于与工业控制系统联成一个整体、易于扩充其功能的原则设计。早期的plc以数字量的顺序控制为主,提供了简单的慢速的通信功能(只支持RS232、RS485、多采用Modbus协议),现在的PLC不仅具有逻辑运算、顺序控制、定时、计数和算术操作,而且还具有A / D、D / A转换,数值计算和数据处理等功能。它既可以对开关量进行控制,也可以对模拟量进行控制,随着PLC功能不断扩充,它还有通讯联网功能,举例C200HX / HG / HE的OMRON PLC的CPU内的RS - 232C端口和外设端口支持通信功能就有与编程设备(如编程器,LSS,或SSS (中文版))进行通信、与个人计算机和其它外设进行上位机链接通信、与个人计算机和其它外设进行RS - 232C、与其它PC进行1:1、再有是与装有NT链接接口的可编程终端(PT)进行NT链接通信(1:1、1:N),本课题就是基于OMRON PLC的链接通信(有通信协议),用VC 开发的上位机与PLC间的通信。
2、OMRON PLC的通信协议
目前,随着PLC的快速发展,越来越多的PLC生产厂商开发了它与计算机的通信功能(主要是利用计算机串口进行通信),本文是以C200HE PLC为例,作详细阐述,本文的通信协议采用的是上位机链接通信。上位机链接通信通过在上位机与PLC之间交换命令和应答实现的。在一次交换中传输的命令和应答数据称为一帧,一个帧最多可包含131个数据字符。
命令帧格式
从上位机发送一个命令时,按下示的格式排列命令数据
用VC  开发微机与OMRON PLC间的通讯程序
@符号必须置于每个命令的开头,节点号是用来辨识每一台PLC的节点,在本文中,它设置PLC的DM6558单元中,识别码设置两字符的命令代码,设置通信是读写PLC的哪个寄存器单元,例读写IR / SR区时它的识别码设置分别为RR和WR,读写DM区分别为RD和WD。正文设置命令参数,包括所要读写PLC寄存器单元的起始地址和字数。FCS是设置两字符的帧检查顺序码,是一个转换成2个ASCII字符的8位数据,这8位数据为从帧开始到正文结束(即FCS之前)所有数据执行“异或”操作的结果。终止符设置“*”和回车(CH R $(13))两字符,表示命令结束。命令帧可以有最多131个字符长。一个等于或大于132字符的命令必须分成若干帧。命令分段,使用回车定界符(CH R $(13))。
应答帧格式
用VC  开发微机与OMRON PLC间的通讯程序
识别码和正文取决于接收到的上位机联结命令,结束码表示命令完成的状态(即是否有错误发生),当应答超过132字符,它必须分成若干帧。结束码是应答帧中表示PLC应答的信息。例结束代码为00表示正常结束,13表示FCS错误,14表示格式错误,15表示入口码数据错误,18表示帧长度错误,A3表示传输数据时因FCS错误引起终止,A8表示传输数据时因帧长度错误引起终止。
本文的上位机命令帧包括读写PLC单元中的数据的命令。读命令帧为:@01RR0100000141* CH R $(13),意思是上位机读取节点为1的PLC中的IR0100单元中的内容。写命令帧为:@01WR0100000171* CH R $(13),意思是写一个数到节点为1的PLC的IR0100单元中。
3、系统结构图
下图是计算机与PLC通信的组成系统图
用VC  开发微机与OMRON PLC间的通讯程序
上位计算机与多个PLC进行通信,必须连接一个RS232 / 422电平转换器,RS422采用平衡发送接收方式,它具有传输距离长、抗干扰能力强和多点通信能力,最多可以接32台PLC,如图1所示,每一台PLC都必须挂一个COM06单元进行RS422方式连接,所有的PLC与计算机间的通讯采用的是PLC上位机链接通信协议。
3.1 硬件设置
RS232 / 422转换器的设置开关拨到422方式,OMRON PLC上的COM06通信板单元同样设置为422方式和四线制。
3.2 参数设置
上下位机的通信波特率设置为9600,数据格式设置为E,7,2。
3.3 节点设置
在PLC的DC6558单元中设置节点号00(初始值)~ 31(号机)。
4、用Visual C 6.0编写串行通信程序
本文的上位机链接通信程序是用Visual C 6.0编写的,主要是利用VC 中的一个通信控件来实现的。
首先利用MFC AppWizard ( exe ) 建立一个基于对话框,支持Activex控件,命名为Transcomn的应用程序。然后在对话框中加入一些控件,其中那个电话形状的控件必须是在系统中注册过的Microsoft Communications Control,由它进行通讯时首先得设置它的一些属性如下。

属 性 设 定 值 说 明
CommPort 1 通讯协议为 PLC 上位机链接
通信,利用微机的串口1
InputMode 0 接收数据类型为文本形式
Rthreshold 1 每接收一个字符就产生一个事件
Settings 9600, E, 7, 2 参数依次为波特率、
奇偶检验数据位数、停止位数

5、程序编写
在程序中需添加的代码如下:
// TranscommDlg.cpp:implementation file
BOOL CTranscommDlg::OnInitDialog ()
{
最后要在ClassWizard中添加变量和响应函数如下。

控制名称 控制 ID对 应变量或函数
通讯地址文本框 ID - ADDRESS m_address
DM 区文本框 ID - DM m_dmbox
LR 区文本框 ID - LR m_lrbox
HR 区文本框 ID - HR m_hrbox
IR 区文本框 ID - IR m_irbox
应答帧文本框 ID - RESPONSE m_response
通讯控件 ID - MSCOMM M - comm.
发送命令按钮 ID - SEND OnSend ( )

// TODO:Add extra initialization here
// 打开通信端口1
m_comm..SetCommPort&n

相关阅读

电工知识基础讲解——基本照明电路及家用电路安装,值得收藏!

1、家庭中三种用电线路 1、照明电路:用于家中的照明和装饰 2、空调线路:电流大,需要单独控制 3、插座线路:用于家电供电使用 为了避免在日常生活中三种线路不互相影响,常将这...
2023-06-11
电工知识基础讲解——基本照明电路及家用电路安装,值得收藏!

一灯三控开关怎么安装?一灯三控开关接线图解

一灯三控开关怎么安装怎么安装?设计一灯三控主要是方便我们的生活,就像是我们的卧室和走廊一样,如果一个设计多个开关控制的话使用会比较方便的,就比如说我们的床头位置都...
2023-06-27
一灯三控开关怎么安装?一灯三控开关接线图解

为什么要进行绝缘预防性试验?绝缘预防性试验可分为几类?

高压电气设备在制造厂生产出来以后,要进行出厂试验,检查产品是否达到设计的绝缘水平。电气设备运到现场后,要进行交接试验。 设备在制造或在安装过程中还可能遗留一些潜伏性...
2023-06-13
为什么要进行绝缘预防性试验?绝缘预防性试验可分为几类?

西门子STEP7编程软件设置组件属性

一旦在站窗口中排列了组件,那么始终以下列方式打开用于改变默认属性的对话框(参数或地址): · 双击该组件,或选择菜单命令编辑 > 对象属性。 · 鼠标右键:将光标移到组件上,按...
2023-03-21

鼠笼式电机软起动器参数设置

1.基准电压的调整(启动电压) 基准电压是设备能否启动的基本条件。所调基准电压,要求电机在加电压后应立即旋转,负载开始启动。如电机加压后不旋转,应提高基准电压整定值,...
2023-03-21

热销商品

EPDM配电箱机柜密封条三元乙丙橡胶半圆海绵自粘发泡胶条20*10mm

EPDM配电箱机柜密封条采用优质三元乙丙橡胶(EPDM)材质,具备优异的耐候性、耐臭氧、耐高低温(-40℃~+120℃)及抗老化性能,适用于户外及严苛环境。其半圆海绵结构设计,兼具...
1.08

防静电塑料镊子93301-08硬质碳纤维合成镊子 尖头镊子 纤维镊子

防静电塑料镊子93301-08采用硬质碳纤维合成材料制成,兼具高强度与轻量化特性,适用于精密操作场景。其尖头设计精细,夹持力稳定,可精准抓取微小元件,广泛应用于电子元器...
0.3

耐高温发泡硅胶密封垫片背胶定制聚氨酯丁晴氟橡胶EPDM矩形软四氟

耐高温发泡硅胶密封垫片背胶定制产品,采用优质硅胶、聚氨酯、丁腈橡胶、氟橡胶及EPDM等多种高性能材料,具备优异的耐高温、耐油、耐腐蚀与抗老化性能。其发泡结构质...
2

硅胶发泡圆条硅胶发泡条耐高温密封条海绵条 1mm/2/3/4/5/8/10/12

硅胶发泡圆条(又称硅胶发泡条、耐高温密封条、海绵条)是一种高性能密封材料,采用优质硅胶发泡工艺制成,具有优异的耐高温、耐老化、阻燃及弹性恢复性能。常见规格包括...
1.6

轻便型防撞鸭舌安全帽车间防撞安全鸭舌帽防砸帽劳保帽子定制印字

轻便型防撞鸭舌安全帽专为车间作业设计,融合安全防护与舒适佩戴体验。采用高强度ABS材质,重量轻、抗冲击性强,有效抵御高处坠物及侧面碰撞,符合国家安全标准。鸭舌帽...
14.6

网站栏目