Professional Documents
Culture Documents
曲阜师范大学 电气信息与自动化学院 宋 辉 李 坤
随 着计算机通信技术的日益成熟及企业对工业
自动化程度要求的提高,
自动控制系统从传 上位机实 ADAM
1 01
……
RS232 RS422
统的集中式控制向多级分布式控制方向发展,
构成 现控制与 -4520
监控
控制系统的PLC也就必须具备通信联网功能。在具
1 32
体应用过程中,若要监视PLC内部的数据与运行状
况,选用市场上的人机界面或组态软件,虽然功能 CPM1- CIFII PLC 站号
丰富,但大都价格昂贵,尤其在一些中小规模的生
附图 上位机与多台PLC的连接方式
产场合。
因此许多企业希望能自己用高级语言开发
一个简易实用的通信程序,
通过面向对象的可视化 在通信过程中上位机始终处于主动方,PLC则
编程语言能 VB6.0 很容易地实现分布式监控。PLC 处于从动方,
所有的数据交换只能在主站和从站之
等下位机控制生产过程,
本地计算机进行实时监测 间进行,从站之间不能直接交换数据,如果从站之
或参与控制。 间需要交换数据,必须通过主站中转 1。首先上位
本文通过对 O M R O N 的 C P M I A 小型机与上 机向 PLC 发送指令帧,PLC 接收了上位机的指令
位计算机通信原理和通信方法的研究,
介绍如何用 后,先进行 FCS 校验,看其是否正确,如果正确,
VB6.0 实现上位计算机对 PLC 的实时监控。 则接收并向上位机传送响应帧,否则,PLC 拒绝向
上位机传送数据。需要说明的是,整个通信过程中
监控原理 因 PLC 中配有通信机制,一般不需要对 PLC进行编
程。上位机接收到 PLC 传送的数据,也要判断正确
1.通信方法 与否,如果正确,则接收,完成一次正常通信,否
上位机作为主站要能够通过 PLC 监控下层设 则,通信需重新开始。
备的状态,首先要实现上位机与PLC 间的通信。由 2.通信协议
于串行通信具有线路简单,应用灵活,可靠性高等 (1)通信条件
优点,并且普通计算机均带有串行口,所以 PC 与 要使上位机与下位机正确地交换数据,
必须确
PLC间通常采用串行通信方式。串行通信可以通过 保以下两点:①双方在初始化时要使波特率、数据
Windows 的API 函数实现,也可以串行通信控件实 位数、停止位数、奇偶校验均保持一致。②要严格
现,但后者较容易,本文采用 VB 的通信控件。如 按照 PLC 的通信协议的规定及帧格式编写 PC 的通
果只实现对一台 CPM1APLC 的监控,需要 CPM1- 信程序。
CIFO1(OMRON 提供的专用的 RS232 适配器)形成 (2)通信的命令帧/响应帖
RS232C 口与上位机通信;如果是实现对多台 PLC O M R O N 公司的 C P M I A 小型 PLC 传输协议的
的监控,则需用 RS232 - RS422/RS485 转换器 一般格式为:
A D A M - 4520 和 CPM1 - C I F 1 1 ( O M R O N 提供的 @ × ×× × …… ×× * ↓
专用 RS422 适配器)与上位机通信,最多可连接32
起始字符 设备号 命令码 / 正文 FCS 校验码 结束符
台 PLC,连接方式如附图所示。 响应码
项 目 属 性
If Form1.MSComm1.PortOpen = True Then
CommPort 设定通信连接端口代号,
程序必须指 Form1.MSComm1.Output = OutputStr + Chr¥
定所要使用的串行端口号,
默认为端口1, (13) ' 按照PLC帧格式输出
Windows 系统使用所设定的端口与外界通信 End If
Settings 设定通信口参数,其格式是
“9600,E, Do
7,2”
,其中9600为通信波特率,
E位代表通
DoEvents
信校验方式位偶校验,
7 为数据位位数,
2
Loop Until Form1.MSComm1.InBufferCount >
为停止位位数
PortOpen 设定通信口状态,
若为真,通信端口打 = Num2 ' 返回帧的长度
开,否则关闭 InString = Form1.MSComm1.Input
Input函数 接收缓冲区返回的字符 EndString = Mid¥(InString, 6, 2) '取返回帧的响
Output函数 向缓冲区写入字符 应码
OutBufferCout 传回输出缓冲区中的字符数
If EndString <> "00" Then
InBufferCount 传回接收缓冲区中的字符数
ReadData = "Error"
InputLen 设定串行端口读入字符串的长度
InputMode 设定接收数据的方式,本试验要设置位0
ExitFunction
End If
通信程序设计 EndString = Mid¥(InString, 1, Len(InString) - 4)
ReturnFCSString=Mid¥(InString,Len(InString)
本系统以 PC 对基于 PLC 的交通灯控制系统的 - 3, 2) '取返回帧校验码
监控为例,在上位机与PLC正常通信的前提下设计 FCSString = FCS(EndString)
界面。窗体的内容主要包括,四大区:端口、站号 If FCSString <> ReturnFCSString Then
选择区,设定时间输入区,监控显示区,控制按钮 ReadData = "Error"
区。从站号选择区选择不同站号即不同 PLC,实现 ExitFunction
End If 结论
If Len(InString) >= Num2 Then
ReturnStr = Mid¥(InString, Len(InString) - Num1 本文给出了利用 V B 中的 M S C O M M 控件实
- 3, Num1) '取返回帧的数据,
其度为Num1 现上位机与多个 P L C 之间的通信方法,实现了
ReadData = ReturnStr 上位机对多个 P L C 的实时监控。对于分布式控
End If 制系统大幅度地减小了通信成本,具有一定的
End Function 推广价值。
台达 A S D A - A +系列伺服新品上市
华北工控发布低功耗车载专用板 N O R C O - 7 7 3 6
车载电脑的出现给汽车行业带来一场信息化的革命,
每辆汽车正在面临构建一
个完美的车载信息与娱乐系统终端的挑战。
华北工控最近推出的一块低功耗车载专
用主板—— NORCO - 7736 将在一定程度上满足人们对车载电脑多样化的需求。
据称,NORCO - 7736 采用 852GM + ICH4 芯片组,默认配置使用 INTEL
ULV Celeron - M 600 MHz CPU;最大功耗仅 5~7 W,无需风扇即可运行。同
时在可以使用 CPU 风扇的情况下,NORCO - 7736 可以支持 FSB400 的 Intel
Pentium -M和Intel Celeron-M 的全系列 CPU。此外,主板所有接口均为IDC
插座,八层的 PCB 板尺寸仅为 161 mm × 120 mm,大大节省了车载设备的整体使用空间。
除具备许多常规功能外,设计者还赋予了 NORCO - 7736 一些特殊功能:所有接口均采用插针 / 插座形式,
扩展和连接更加方便;两路RS232接口,
Pin9 提供+5 V/500 mA的电流供电;COM2 可通过跳线设置选择RS232/
RS422/RS485 等多种工作模式;6 路 USB 接口,其中 2 路支持提供 1 A 电流的负载能力;音频采用 AC’97 芯片,
提供标准 5.1 声道音频输出和一个 MIC - IN 接口,具备强大的视听和娱乐功能。