杭州西门子中国授权代理商CPU供应商
  • 杭州西门子中国授权代理商CPU供应商
  • 杭州西门子中国授权代理商CPU供应商
  • 杭州西门子中国授权代理商CPU供应商

产品描述

产品规格模块式包装说明全新

在工业控制领域中,plc作为一种稳定的控制器得到广泛的应用。但它也有自身的一些缺点,即数据的计算处理和管理能力较弱,不能给用户提供良好的界面等。而计算机恰好能plc的不足,它不但有很强的数据处理和管理能力,而且能给用户提供非常美观而又易于操作的界面。将plc与计算机结合,可使系统达到既能及时地采集、存储数据,又可处理和使用好数据,两者结合的关键是plc与计算机之间的通信。本文以omron公司的cpmia小型plc为例,详细的讨论了plc与计算机通信的原理和用vb如何实现plc与计算机的通信。
2 通行原理与方法
上位机要能够通过plc监控下层设备的状态,就要实现上位机与plc间的通信,一般工业控制中都是采用rs232c实现。上位机向plc发送查询数据的指令(实际上是查询plc中端子的状态和dm区的值等),plc接收了上位的指令后,进行校验(fcs校验码),看其是否正确,如果正确,则向上位机传送数据(包含尾校验字节)。否则,plc拒绝向上位机传送数据。上位接收到plc传送的数据,也要判断正确与否,如果正确,则接收,否则,拒绝接收。
由于cpm1a没有提供串行通信口,我们利用其提供的外设端口实现通信。plc与计算机之间的连接是通过omron提供的电缆cqm1-cif01来实现的,其硬件连接图如图1所示。


3 plc与计算机间的通信规约
计算机与plc间的通信是以“帧”为单位进行的,并且在通信的过程中,计算机具有高的级。,计算机向plc发出命令帧,然后,plc作出响应,向计算机发送回响应帧。其中命令帧和响应帧的格式如下:
(1) 命令帧格式。为了方便计算机和plc的通讯,cpm1a对在计算机连接通信中交换的命令和响应规定了相应的格式。当计算机发送一个命令时,命令数据主准备格式如图2所示。


其中@放在,表示以@开始,设备号为上位机识别所连接的plc的设备号。识别码为命令代码,用来设置用户希望上位机完成的操作,fcs为帧检验代码,一旦通信出错,通过计算fcs可以及时发现。结束符为“*”和cr回车符,表示命令结束。
(2) 响应帧格式。由plc发出的对应于命令格式的响应帧格式如图3所示。

其中,异常码可以确定计算机发送的命令是否正确执行。其它的与正文中的含义相同。正文仅在有读出数据时有返回。
4 通信程序的设计
为了充分利用计算机数据处理的强大功能,我们可以采用计算机有权的方式,在计算机上编写程序来实现计算机与plc的通信, 计算机向plc发出命令发起通信,plc自动返回响应。本文中采用vb来编写计算机与plc间的通讯程序。在vb中提供了通信控件—应用通信控件(mscomm),实现通过串行端口传送和接受的功能。
下面介绍mscomm控件的属性:
*commport:设定通信连接端口代号,程序所要使用的串行端口号,bbbbbbs系统使用所设定的端口与外界通信。
*portopen:设定通信口状态,若为真,通信端口打开,否则关闭。
*settings:设定通信口参数,其格式是"bbbb,p
,d,s",其中bbbb为通信速率(波特率),p为通信检查方式(奇偶校验), d 为数据位数,s为停止位数,其设定应与plc的设定一致。
*bbbbb:将对方传送至输入缓冲区的字符读入到程序。
*output:将字符写入输出缓冲区。
*inbuffercount:传回接收缓冲区中的字符数。
*outbuffercount:传回输出缓冲区中的字符数。
*bbbbblen:设定串行端口读入字符串的长度。
*bbbbbmode:设定接收数据的方式。
*rthreshold:设定引发接收事件的字符数。
*commevent:传回oncomm事件发生时的数值码
*oncomm事件:无论是错误或事件发生,都会触发此事件。
(1) 控件参数的初始化。
初始化程序如下:
port=2 `使用串口com2
mscomm.settings="9600, e, 7, 2" `波特率9600,偶校验,7位数据位,2位停止位
mscomm.portopen=true `打开通信端口,准备通信
(2) 计算校验码fcs,计算fcs的vb自定义函数如下:
function fcs(byval bbbbbstr as bbbbbb) as bbbbbb
dim slen, i, xorresult as integer
dim tempfes as bbbbbb
slen=len(bbbbbstr) `求输入字符串长度
xorresult = 0
for i = 1 to slen
xorresult = xorresult xor asc(mid$(bbbbbstr, i, 1)) `按位异或
next i
tempfes=hex$(xorresult) `转化为16进制
if len(tempfes)=1then tempfes =“0”+tempfes
fcs = tempfes
end function
(3) 计算机与plc通信程序。
主要是一个自定义函数。
function readdata(byval bbbbbstr as bbbbbb, byval num as integer) as bbbbbb
dim outputstr as bbbbbb
dim inbbbbbb as bbbbbb
dim returnstr as bbbbbb
dim endbbbbbb as bbbbbb
dim fcsbbbbbb as bbbbbb
dim returnfcsbbbbbb as bbbbbb)
mscomm.inbuffercount=0
outputstr=bbbbbstr+fcs(bbbbbstr)+“*” `给出命令帧
mscomm.output=outputstr+chr$(13) `向plc传送命令帧
do
doevents
loop while mscomm.inbuffercount < 15
inbbbbbb=mscomm.bbbbb `plc的响应帧
`结束码判断
endbbbbbb = mid$(inbbbbbb, len(inbbbbbb) -
num- 5, 2)
if endbbbbbb = "13" then
readdata = "error"
exit function
elseif endbbbbbb = "14" then
readdata = "error"
exit function
elseif endbbbbbb = "15" then
readdata = "error"
exit function
elseif endbbbbbb = "18" then
readdata = "error"
exit function
elseif endbbbbbb = "a3" then
readdata = "error"
exit function
elseif endbbbbbb = "a8" then
readdata = "error"
exit function
end if
`响应帧校验
endbbbbbb = mid$(inbbbbbb, 1, len(inbbbbbb) - 4)
returnfcsbbbbbb = mid$(inbbbbbb,len(inbbbbbb) - 3, 2)
fcsbbbbbb = fcs(endbbbbbb)
if fcsbbbbbb <> returnfcsbbbbbb then
readdata = "error"
exit function
end if
returnstr = mid$(inbbbbbb,
len(inbbbbbb) - num - 3, num)
readdata = returnstr
end function
从上面程序可以看到,计算机对plc返回的响应帧要进行fcs校验,并利用异常码排除返回的异常数据,这样不但可以提高计算机信息的正确性,而且提高了计算机监控的实时性。
5 结束语

本文介绍的通信方法在我校cims研究自行研制的一套机电一体化设备中得到实施运用,经试验运行,证明这种通信方法稳定、,确实是一种非常有效的方法。将plc与计算机通信网络连接起来,plc作为下位机,计算机作为上位机,形成一个优势互补的自动控制系统,实现了“集中管理,分散控制”。其中各个plc子系统或远程工作站在生产现场对各个被控对象进行控制,利用网络连接构成一个plc综合控制,满足了现代自动化系统向信息化、网络化、智能化的过渡

1 引言
模拟屏能简单、明了地反映现场的实时数据和状态信息,应用十分广泛。为了使现场信息及时、准确、动态地显示在模拟屏上,要求数据采集设备和模拟屏之间进行通信。
现场信息量比较大,如果每个信号都立连接到模拟屏,信号线数量多、耗线多,不经济,走线不便,故障率高,采用串行通信可克服以上缺点。
现在通信方式多种多样、速度越来越快,但串行通信在控制范畴一直占据着其重要的地位。它不仅没有因时代的进步而淘汰,反而在规格上越来越完善、应用越来越广,长久。与并行通信相比,它传输速度慢(并行一次传8位,串行传1位),但并行通信数据电压传输过程中,因线路因素使标准电位发生变化(常见的电压衰减、信号间互相串音干扰)。传输距离越远,问题越严重、数据错误越容易发生。相比之下,串行通信处理的数据电压只有一个标准电位,数据不易漏失。
常用的串行通信有两种,一种为rs232,另一种为rs422/485。工业环境常会有噪声干扰传输线路,在用rs232,经常会受到外界电气干扰而使信号发生错误。rs232串行通信的信号标准电位是参考接地端而来的,干扰信号在原始信号和地线上均会产生影响,原始信号加上干扰信号后,依然传送到接收端,而地线部分的信号则不能传送到接收端。因此,信号便发生了扭曲。rs422/485传输的是差分信号,在发送端分成正负两部分,到达接收端通过相减,还原成原来信号,两条信号线受到的干扰的程度相同,这就防止了噪声干扰。本文以plc和模拟屏通信为例介绍通过rs485实现点对点串行通信。
2 模拟屏的通信规约及设备
(1) 通信规约
rs232c/485串行口:速率9600bps,1位起始位,8位数据位,1位停止位,无奇偶校验位;传输报文内容以字节为单位,在信道中的传送顺序是:低字节先送,高字节后送;字节内低位先送,高位后送;数据格式为16进制数;异步通信。
(2) 设备
开关量处理器;开关量指示灯;模拟量处理器;模拟量显示器;时钟;通信处理器;控制器。
3 信息传输途径设备和功能
(1) 途径:数据采集通过plc完成,plc向模拟屏传输数据,控制模拟屏状态。rs485连接图如图1所示:

图1 rs485连接电缆图
(2) 主要相关设备:处理器cpu 314;点到点通信模块cp341-rs422/485。
(3) 功能:—向模拟屏发送模拟量数据;—向模拟屏发送开关量信息;—控制屏状态,包括:全屏亮暗、全号分合、 变位帧闪光;—设定和改变时钟时间。
4 通信实现的方法
4.1 初始化
就串行通信而言,交换数据的双方利用传输在线的电压改变来达到数据交换的目的。如何从不断改变的电压状态中解析出其中的信息,双方有一套共同的译码方式,遵守一定的通信规则。这就是通信端口初始化。
通信端口初始化有以下几个项目设置或确认:
(1) 通信模式
串行通信分同步和异步两种模式。同步传输在通信的两端使用同步信号作为通信的依据,异步传输则使用起始位和停止位作为通信的判断。模拟屏通信模式:异步传输;西门子plc通信模式:异步传输;二者通信模式相同。
(2) 数据的传输速率
异步通信双方并没有一个可参考的同步时钟作为基准。这样双方传送的高低电位代表几个位就不得而知了。要使双方的数据读取正常,就要考虑到传输速率。收发双方通过传输在线的电压改变来交换数据,但发送端发送的电压改变的速率和接收端的接受速率保持一致。模拟屏的通信速率:9600bps;西门子plc通信速率:600bps,1200bps,2400bps,4800bps,9600bps,19200bps,38400bps,57600bps,76800bps。初始化,将plc波特率设为:9600bps
(3) 起始位及停止位
当发送端准备发送数据时,会在所送出的字符前后分别加上高电位的起始位及低电位的停止位。接收端会因起始位的触发而开始接收数据,并因停止位的通知而确定数据的字符信号已经结束。起始位固定为1位,而停止位则有1,1.5,2等多种选择。模拟屏的停止位: 1位;西门子plc的停止位:1位或2位。初始化,将plc数据停止位设为:1位。
(4) 数据的发送单位
不同的协议会用到不同的发送单位(欧美一般用8位、日本一般用7位组成一字节),使用几位合成一字节,双方一致。模拟屏的数据发送单位: 8位为一字节;西门子plc的数据发送单位:7位或8位为一字节。初始化,将plc数据发送单位设为:8位。
(5) 校验位的检查
为了预防错误的产生,使用校验位作为检查的机制。校验位是用来检查所发送数据正确性的一种校对码,它分奇偶校验,也可无校验。模拟屏校验位:none;西门子plc校验位:none,odd,even;初始化,将plc校验位设为:none。
(6) 工作模式
交换数据是通过一定的通信线路来实现的。微机在进行数据的发送和接收时通信线路上的数据流动方式有三种:单工、半双工、全双工。rs232和rs422使用全双工模式,rs485使用半双工模式。模拟屏工作模式:rs232全双工/rs485半双工;西门子plc工作模式:rk512 全双工四线制(rs422);3964r全双工四线制(rs422);ascii全双工四线制(rs422);ascii半双工两线制(rs 485);初始化,将plc工作模式设为:ascii半双工两线制(rs485)。
(7) 数据流控制—握手
传输工作,发送速度若大于接收速度,而接收端的cpu处理速度不够快时,接收缓冲区就会在一定时间后溢满,造成后来发送过来的数据无法进入缓冲区而漏失。采用数据流控制,就是为了保证传输双方能正确地发送和接收数据,而不会漏失。数据流控制一般称为握手,握手分为硬件握手和软件握手。模拟屏数据流控制:none;西门子plc数据流控制:none。要通过用户程序询问和控制。
(8) 错误预防—校验码
在传输的过程中,数据有可能受到干扰而使原来的数据信号发生扭曲。为了监测数据在发送过程中的错误,对数据作进一步的确认工作,简单的方式就是使用校验码。模拟屏校验码:异或校验和。要在plc上编校验码程序。

1  系统硬件配置
在硬件配置过程中需注意的是PROFIBUS 网卡的配置,梅山热轧厂加热炉PLC 中选配的是SST 5136 VME 卡。作为主站,将各从站(各传动装置) 通过PROFIBUS 连结起来,以实现PLC 同传动装置的通信。SST 5136 VME 卡运行前需将配置文件由编程器通过配置口下载至卡内FLASHROM 中。卡的配置文件可由SIEMENS 公司的COMPROFIBUS 组态软件根据现场实际所带的从站个数经配置生成。EGD 参数配置见图1。


2  软件框架(见图2)


由于系统采用了EGD 通信协议,将开发人员从以往的涉及通信所需的底层繁琐的编程任务中解脱出来,开发人员只需将需交换的信号定义好即可,其余由系统自动保完成数据交换、通信,编程软件采用GE 公司的cont rol v2. 4 版。Cont rol 编程软件是在bbbbbbs 操作平台上运行的,具有操作方便、直观,界面友好等优点,可以使开发人员将精力集中在应用程序的开发上,从而缩短程序开发周期。
3  通信系统
系统采用模块化的具有多种通讯接口模式的可编程控制器(PLC) ,通过模拟量模块、数字量模块和数据接口模块连接各种设备。通过通讯模块和过程计算机控制系统连接,一级机采用两套GE 9070 PLC 分别对加热炉本体和加热炉炉前、炉后辊道进行控制。其中本体PLC 包括加热炉进炉侧和出炉侧炉门的控制,步进梁液压站的控制以及推钢机和抽钢机液压站的控制。PLC 和远程I/ O 站之间采用Genius 网络联接,另通过三方VME 卡件实现Profibus 总线和传动系统的连接。从而实现对系统的集中监测和自动化运行控制。
L1 与L2 之间通过以太网连接,用GE 公司开发的PLC 进行通讯,两套9070 PLC 之间也通过以太网连接采用EGD 通信。该方式允许一台设备作为“产出方( PRODUCER) ”通过“交换( EXCHAN GE) ”共享其部分内存给一个或多个“需求方(CONSUMER) ”。系统通过配置“产出方号( PRODUCER ID)”“, 交换号( EXCHAN GEID)”“, 需求方号(CONSUMER ID)”和执行周期来实现两台设备间的通讯。如需实现和原有设备的数据共享,需再配置“组号( GROUP ID) ”来完成。该方式中“产出方( PRODUCER) ”发送数据和“需求方( CONSUMER) ”接受数据是不同步的。故该方式适用于有规律的周期性的数据传送。系统支持多255 个“ 交换( EX2CHAN GE) ”,每个“交换( EXCHAN GE) ”长1 400个字节。采用该方式在负荷不大的情况下通信效率要基于TCP/ IP 连接的COM2MREQ 指令方式。两套9070 PLC 与操作台上用于操作画面显示的工控机之间通过以太网连接采用TCP/ IP 协议进行通讯。
4  工艺流程
2 号加热炉上料辊道共分8 段,编号为Z1~Z8 。其中Z2 辊道完成板坯的测长及称重,Z4 、Z5为2 号加热炉的推钢定位辊道,Z7 、Z8 为1 号加热炉的推钢定位辊道,当板坯被吊到Z1 辊道上,冷金属检测器检测到有钢,即启动Z1 辊道,板坯被送至Z2 辊道上定位,在此过程中完成板坯的长度测量,当板坯在Z2 辊道上定位完毕,将进行板坯的称重,同时将板坯流水号发送至L2 ,L2 收到信号后将对加热炉进行设定,将设定数据下放,操作工将实测数据同L2 设定值进行比较,若在允许误差范围内,则手动确认,使板坯合法化,同时生成跟踪信号。在自动方式下,根据板坯的入炉号,调用相应的子程序,将板坯输送至相应的加热炉前进行定位,定位完毕,L1 将信号发送至L2 ,L2 下发推钢设定,L1 根据推钢设定将板坯推送到加热炉内加热,装料结束。步进式加热炉当板坯向前移动时,半周期停在固定梁上,半周期停在步进梁上。板坯不向前运动时,步进机构在垂直方向做踏步动作,使板坯不断地交替接触位置,当板坯由步进梁运送至出料端,出料端的激光器到板坯时,步进梁停止动作,L1 将激光检测器及步进梁动作停止信号发送给L2 ,同时计算板坯移出量,L2 下发抽钢设定,L1 根据抽钢设定,完成自动抽钢过程,将板坯抽出放炉前辊道上,由炉前辊道把板坯送往轧线进行轧制。
5  应用实例
板坯在2 号炉炉前辊道Z4 、Z5 上自动定位过程,辊道示意见图3 。


以短坯定位在Z5 上为例,板坯从Z1 上被运送到Z2 上,经过测长、称重,由操作工手动确认后,如果Z3 、Z4 、Z5 上没有其他板坯, Z3 、Z4 、Z5将以50 %的给定速度运转,把板坯往Z4 、Z5 上送。当板坯头部经过CMD12 时,PG清零同时开始计数。
当板坯根据定位速度曲线图(见图4) 到达B点时,辊道按既定的斜坡降速至12 %的给定速度,并保持此速度。当板坯行至C 点时,辊道速度按既定的斜坡降至5 %的给定速度,并根据计算好的期望停车距离将速度降为0 ,停车,发封锁命令,同时将抱闸抱住,从而完成板坯的自动定位控制


http://zhangqueena.b2b168.com

产品推荐