有没有了解熟悉贝加莱plc opc的

智能化应用
» 正文
贝加莱:PLC技术的未来发展
核心提示:今天,传统意义基于顺序逻辑控制的PLC已经无法满足更为复杂的控制需求-这得益于IT技术的发展,IT技术带给工业生产的并非资料库技术、资讯传输技术的发展,更为重要的在于它所体现的整体优化生产系统的能力,通过对基础的生产资料的采集,分析实现对整个生产流程的优化,这使得整个工厂不再是由单个机器构成的纯粹生产单元,而是互相关联成为一个整体,必须对其进行全局的资料获取和优化-才能最大的降低生产成本、消除浪费、提升整体工厂运营效率。&(Bernecker + Rainer)台湾分公司经理 江政伦
控制器的发展驱动力
& & 任何技术的发展都有其内在的驱动力,产生于客户和终端市场的需求,对于工业控制尤其如此,从继电器逻辑到PLC是一个巨大的革命,这使得机器和装置控制真正迈入电气时代,在上世纪90年代,基于总线的控制器使得分布式控制成为现实,并且也产生了总线之争,随着以太网技术在各个领域的成功应用,其低廉的成本和广泛的应用也使得其成为工业领域最为快速发展的技术,实时以太网应运而生,未来,更为开放的架构设计、软件技术和资讯化技术将带给工业控制更为广泛的未来。
正在发生的变化
& & 今天,传统意义基于顺序逻辑控制的已经无法满足更为复杂的控制需求-这得益于IT技术的发展,IT技术带给工业生产的并非资料库技术、资讯传输技术的发展,更为重要的在于它所体现的整体优化生产系统的能力,通过对基础的生产资料的采集,分析实现对整个生产流程的优化,这使得整个工厂不再是由单个机器构成的纯粹生产单元,而是互相关联成为一个整体,必须对其进行全局的资料获取和优化-才能最大的降低生产成本、消除浪费、提升整体工厂运营效率。
控制技术的几个发展阶段
精简指令集(RISC)和复杂指令集(CISC)PLC的发展
& & 而PLC作为每个单独机器或装置的控制中心,必须能够回馈更多的资料给管理系统进行决策,这使得PLC在今天被赋予更多的任务,而传统PLC基于精简指令集的设计则无法胜任这一需求,因为,实现以太网、FTP Server等,对于传统的PLC而言,这是非常困难的,因此,新一代的PLC逐渐基于复杂指令集设计。
基于复杂指令集的PLC开始成为潮流
& & 精简指令集有其先天的优势,在于指令运行效率、功耗、稳定与可靠方面均具有非常大的优势,但是,当面对今天对于复杂的演算法设计、回路控制、运动控制、安全技术的需求时显得力不从心,通常,需要额外的专用控制器予以弥补,例如:会有专用的运动控制模组进行运动控制任务的处理,而机器人和CNC而言,目前均为专用的系统来实现。
& & 而以PCC等为代表的新一代控制器则完全改变了这一格局,比如来自奥地利贝加莱的PCC,它可以在一个控制器上同时实现、CNC和机器人、回路调节、逻辑控制、远端维护与诊断等,其设计基于RTOS,采用Intel X86架构,可以支持Pentium,以至新的Intel Atom处理器,可以支援复杂的任务和行业演算法的集成,OMRON新一代的PLC也基于复杂指令集处理器和VxWorks作业系统设计,以满足更为复杂的控制需求。
即时以太网正在成为标准配置
& & 传统的意义上,各PLC公司均开发了不同的汇流排技术,而这些汇流排技术带来了技术壁垒,并且速度较慢,因此,已经广为使用的以太网进入了自动化领域,然而由于其机制无法解决确定性问题,因此,不同厂商又开发了不同的即时乙太网实现,自贝加莱于2001年第一个推出后,相继有Profinet、Ethernet/IP、SERCOSIII、EtherCAT等技术的推出,并且,各家即时以太网各自迅速占领并逐渐取代传统的汇流排技术,已经成为了主流厂商的标准配置。
& & 即时以太网以100Mbps的传输速度大大提升了传统汇流排技术的速度,并且,在即时性方面均可达到uS级的同步性能,抖动也远远小于1uS,这些使得对于高速高精度的运动控制、高速同步的应用而言更为卓越,并且,也会带来更为容易的扩展和网路分布的变化,在热插拔、冗余方面的功能亦完全满足工业控制需求。
& & POWERlink在此值得一提的原因在于它是一个开源技术,可以为任何厂商而使用,所有的主站从站源代码均是开放的,无任何知识产权问题和License的问题。
集成开发平台
& & 为了能够集成更为广泛的系统,从而带给客户内在的系统无缝连接,从而发挥最大的性能,来自不同的厂商实现了集成的开发平台设计,最早于此的是1997年由B&R开发的Automation Studio平台,它能够将所有的自动化工作集成到一个平台中,面向控制、显示、驱动、CNC和机器人、液压、安全技术、网路等,并且,它也满足全流程的系统设计需求,例如,可以在Automation Studio中进行专案配置管理、协同工作、MATLAB/Simulink仿真的自动代码可以导入到该系统、轴的测试、I/O级测试,以及基于Web Server、VNC server等的远程维护与诊断,RA在2007年推出的Logix平台也能实现所有的控制物件集成于同一平台中,2010年SIEMENS开始主推其博途Portal平台-这也是一个全新的面向所有物件集成的开发平台。
B&R Automation Studio集成开发平台
& & 当然,也有一些号称集成开发平台的产品,尽管尚未完全意义的集成,但是,这的确代表一种潮流。
& & 集成开发平台带给客户的好处在于:
& & 1.&内在的系统优化-最优的硬体匹配,不会产生大马拉小车(例如快速的CPU却慢速的网路)
& & 2.&无需中间额外的连接硬体
& & 3.&软体之间的匹配,无需额外的开发中间件;
& & 4.&学习与培训成本降低,因为,无需学习多个软体和平台之间的切换,整体成本降低
& & 除了这些基本的好处外,集成开发平台能够构建一个持续的应用开发平台,满足一个企业的全面的、面向未来的持续创新设计,这是集成开发平台真正的意义。
软件构成未来PLC竞争的核心
& & 随着PLC技术的应用发展,客户的需求也变得更为苛刻,集成开发软件成为了必然,一方面,软件正在扮演更为重要的角色。
& & 1. 软件可以封装客户的Know-How,因为以硬体形式已经无法保存Know-How;
& & 2. 软件使得硬体的投资得到最大的化的发挥,同一硬体平台可以实现更为丰富的软件
& & 3. 软件构成差异化竞争的核心,即使同一硬体平台,也可以会有较大的应用差异
& & 软件-正在成为自动化未来竞争的核心,这也是必然的潮流与趋势。
PLC软件架构
软件的发展有几个部份
& & 1.&实时操作系统
& & 实时的操作系统可以支撑开放的软件使用,并且可以实现各种复杂的功能支援,而精简指令集的PLC则比较困难集成RTOS,RT-Linux也被部份厂商所采用,其开源特性具有很大的吸引力。
& & 2.&开发平台
& & 集成的开发平台正在成为趋势,而分立的开发软件带来了系统衔接问题,尤其是在多个厂商产品集成系统时带来了额外的软件开发工作,而这些又是系统不稳定的因素之一。
& & 3.&行业应用软件
& & 只有能够解决诸如印刷套色系统、吹塑成型的壁厚控制、包装的电子凸轮裁切、金属成型工艺、纺纱成型工艺的软件包才能更好的在行业有所发展,或者提供标准化的包便于客户开发自主的应用,使得大量的开发工作由自动化厂商在其开发系统中进行标准化和模块化设计才能降低开发周期和缩短开发成本
& & 4.&开放的软件集成
& & 这主要是指在OPC Server、VNC,Web,FTP Server方面的集成,以及对C++,C#等面向对象编程技术的集成能力,这方面B&R、Rockwell AB等提供了较好的支援能力。
软件的标准化与模块化发展
& & 标准化和模块化是自动化软件发展的重要趋势,一方面,标准化来降低开发的周期,标准化带来的意义在于它可以经过验证从而实现稳定的软件代码,提升软件的稳定和可靠性,因为,专业的软件工程师团队开发的代码具有很强的可靠性设计,另一方面,模块化则使得系统的构建变得简单,即使是一个复杂的应用也可以像堆积木一样去实现,降低开发周期和成本,缩短面市时间(Time to Market)。
& & 标准化提高稳定,而模块化提供灵活性。
& & PLC变得更为强大,即使面对PC的竞争,今天,PLC仍然是主流的控制器应用,未来,PLC更加注重与管理系统的集成,并且资讯化技术将更多的集成到产品中,使得整个生产系统融为一体,包括物流、财务、销售、生产制造、售后服务的ERP、MES集成。
& &&是一家全球性自动化领导厂商,专业致力于创新自动化前沿技术,总部位于奥地利,目前已在全球68个国家设立了分支机构,拥有166个办事处。&完美自动化&与&您的全球自动化合作伙伴&是贝加莱工业自动化的使命与追求。
& & 1996年8月,贝加莱工业自动化(上海)有限公司正式落户中国上海,本地化的销售与精湛的技术队伍为中国客户带来更迅捷的服务响应。十几年来,贝加莱(中国)一直专注于为国内用户提供高品质的自动化全线产品和优秀的技术解决方案。现在,贝加莱的产品和方案已广泛应用于机械自动化领域,如包装、印刷、塑料、纺织、食品饮料、机床、半导体、制药等行业;以及过程自动化领域,如电力、冶金、市政、交通、石油、化工和水泥等行业。目前,贝加莱产品已通过ISO 9001、UL、T&UV、GOST-R等国际认证,产品质量、性能等受到了用户的普遍赞誉,赢得了信誉。如今,贝加莱(中国)已成立了北京、广州、济南、西安、成都和沈阳办事处,上海及各办事处建立了完备的技术培训中心,以及分布在全国的大学联合实验室。
深公网安备案证字第 4 号
增值电信业务经营许可证号 粤B2-贝加莱PLC_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!PLC项目(6)
关于贝加莱Modbus通讯的总结
1.Modbus通讯格式
上篇文章已将介绍了Modbus通讯协议发送指令和回应的格式,这里再回顾一下。modbus指令由从站地址,功能码,数据起始地址,数据长度和CRC校验和组成,如:
01:从站地址
02:功能码,读输入触点
0000:起始地址
0003:数据长度
380B:CRC校验和
这条指令的作用就是读取从站01的输入触点寄存器里面的数据。
2.贝加莱Modbus通讯功能块介绍
打开贝加莱的帮助文档,搜索DRV_mbus,可以找到DRV_mbus库。
在上图中,可看到与Modbus通讯相关的功能块,与主站相关的功能块有4个,与从站相关的功能块有3个。
贝加莱作为主站时主要用到以下功能块。
a.MBMOpen()
MBMOpen()功能块打开(激活)主站通讯接口。参数如下
功能块使能
通讯接口的名称
通讯接口参数设置
数据块的名称
通讯超时参数
MODBUS模式,(0=RTU/1=ASCII)
错误代码,0表示无错误
提供给MBMaster(),MBMCmd(),MBMClose()用的句柄
b.MBMaster()
功能块使能
从MBMOpen()返回的句柄指针
错误代码,0表示无错误
命令是否执行
当前数据交换的次数
c.MBMCmd()
功能块使能
从MBMOpen()返回的句柄指针
Modbus功能码
从站站点号,0为广播
数据区域首地址
错误代码,0表示无错误
d.MBMClose()
关闭主站通讯接口
功能块使能
从MBMOpen()返回的句柄指针
错误代码,0表示无错误
3.硬件连接
要实现PLC与电脑的Modbus通讯,需要一根USB转485的串口线,如下图
打开贝加莱的帮助文档,搜索cs1030,打开通讯模块cs1030的帮助文档,查看cs1030的引脚定义如下,我采用的是RS485模式,cs1030同时支持RS422模式。
将DATA连接T/R+
DATA/连接T/R-
GND连接VCC
4.贝加莱PLC作为主站的配置过程
a.建立一个通讯变量配置模块(dataobject)
新建工程,添加一个dataobject,在dataobject中添加以下内容。
"EventPV1 ", 01, $01, "LocalPV1 ",
"EventPV2 ", 02, $01, "LocalPV2 ",
"EventPV3 ", 03, $01, "LocalPV3 ",
"EventPV4 ", 04, $01, "LocalPV4 ",
“EventPV1 “, 01, $01, “LocalPV1 “, 这条语句当中,01为功能码,读取线圈继电器的状态,$01为从站站点号,”LocalPV1”表示读取的数据存放地址为LocalPV1,0000为读取的线圈继电器首地址,0005为读取长度。EventPV1是发出指令的使能信号,为1时,主站向从站发出指令。因此,整条语句的含义就是,在通讯过程中,当EventPV1等于1时,主站向从站01发出指令读取继电器线圈的状态并存储到LocalPV1当中。此时发出的报文为FC09,FC09是校验和。
其他几条指令与此含义类似。
b.全局变量定义
在上一步通讯变量配置过程中,用到了EventPV1~EventPV4和LocalPV1~LocalPV4等变量。这几个变量必须定义为全局变量。我曾在此犯过错误,折腾了很长时间。定义如下:
c.通讯功能块配置
新建一个program,改名为master.st,定义变量和功能块如下:
MBMOpen_xx
MBMaster_xx
MBMClose_xx
打开init.st,初始化并配置MBMOpen_xx()功能块
PROGRAM _INIT
(* Insert code here *)
EventPV1 := 1;
EventPV2 := 1;
EventPV3 := 1;
EventPV4 := 1;
LocalPV1[0] := 0;
LocalPV1[1] := 0;
LocalPV1[2] := 0;
LocalPV1[3] := 0;
LocalPV1[4] := 0;
LocalPV2[0] := 0;
LocalPV2[1] := 0;
LocalPV2[2] := 0;
LocalPV3[0] := 0;
LocalPV3[1] := 0;
LocalPV3[2] := 0;
LocalPV3[3] := 0;
LocalPV3[4] := 0;
LocalPV4[0] := 0;
LocalPV4[1] := 0;
LocalPV4[2] := 0;
LocalPV4[3] := 0;
LocalPV4[4] := 0;
MBMOpen_xx.enable:=1;
MBMOpen_xx.pDevice:=ADR('IF6.ST4.IF1');
MBMOpen_xx.pMode:=ADR('/PHY=RS485 /PA=E /DB=8 /SB=1 /BD=19200');
MBMOpen_xx.pConfig:=ADR('dataobject');
MBMOpen_xx.timeout:=2000;
MBMOpen_xx.ascii:=0;
MBMOpen_xx();
END_PROGRAM
MBMOpen_xx.pDevice:=ADR(‘IF6.ST4.IF1’):IF6.ST4.IF1是通讯模块的接口名称。接口名称可以在Physical View里面查到。我用的通讯模块是cs1030,可以看到名称为:IF6.ST4.IF1
MBMOpen_xx.pMode:=ADR(‘/PHY=RS485 /PA=E /DB=8 /SB=1 /BD=19200’):设置通讯模式为RS485,偶校验,数据位为8为,1个停止位,波特率为19200.
MBMOpen_xx.pConfig:=ADR(‘dataobject’):数据块的名称,即前面定义的dataobject
打开Cyclic.st,配置MBMaster_xx,MBMCmd_xx,MBMClose_xx等功能块。
PROGRAM _CYCLIC
(* Insert code here *)
(*EventPV1:=1;
EventPV2:=1;*)
EventPV1 := 1;
EventPV3 := 1;
IF(S1=0)THEN
MBMaster_xx.enable:=1;
MBMaster_xx.ident:=MBMOpen_xx.
MBMaster_xx();
MBMCmd_xx.enable:=1;
MBMCmd_xx.ident:=MBMOpen_xx.
MBMCmd_xx.mfc:=1;
MBMCmd_xx.node:=1;
MBMCmd_xx.data:=ADR(LocalPV1);
MBMCmd_xx.offset:=0;
MBMCmd_xx.len:=4;
MBMCmd_xx();
IF(S2=0)THEN
MBMClose_xx.enable:=1;
MBMClose_xx.ident:=MBMOpen_xx.
MBMClose_xx();
END_PROGRAM
a.程序编写完成后,即可编译下载到PLC中运行,打开电脑上Modbus Slave软件。
注意工具栏上有connect和disconcert的图标,第一次使用不要直接点击connect的图标连接,因为我们需要先配置模式,我曾经在这里犯过错误,直接按照默认的模式connect,结果死活连接不成功,在这里纠结了好久。这种低级错误实在是不该犯,浪费时间。
b.点击connection-&connect进入connection配置界面
选择相应的串口(在设备管理器中查看,此处为port6)
设置波特率为:19200
数据位:8位
校验:偶校验(之前连接不成功的原因就是校验方式选为了NONE)
停止位:1位
设置完成后,点击OK即可连上。
c.从站定义
点击setup-&slave definition进入从站定义界面
salve:输入1,这是从站站点号
Function:选择要操作的寄存器
coil status
input status
holding register
input register
adddress:首地址
length:长度
在这里我们先将做如下设置
Function:03 holding register
Address:1
Length:10
d.通讯检测
在AS中打开watch窗口(CTRL+M).添加变量EventPV1~EventPV4,MBMOpen(),MBMCmd(),MBMClose(),MBMaster(),LocalPV1~LocalPV4,S1,S2.
在Modbus Slave中双击40001打开Edit Register界面
在value中写1,同时勾选Auto increment,点击OK
在AS的watch窗口将EventPV3的值改为1
可以看到localPV3[0]的值随着salve中40001的值在递增,说明通讯正常。
6.利用串口调试助手分析报文。
在调试过程中,如果碰到问题,可以先用串口助手先测试下PLC指令发送是否正常.具体操作如下:
打开串口调试助手,设置模式与程序中的模式相同。
分析一下接收到的报文,01 03 00 00 00 05 85 C9,由前面的说明可以知道:
“EventPV3 “, 03, $01, “LocalPV3 “,
当EventPV3设置为true的时候,PLC应该向salve读取holding register的值并存入LocalPV3当中,因此plc向salve发送的报文应该为+CRC校验和,前面的部分都能对上,经过计算,CRC校验和也能对上。说明报文发送没有问题。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:34575次
积分:2873
积分:2873
排名:第9764名
原创:239篇
译文:15篇
评论:11条上传时间:
plc入门学习基础教程_贝加莱plc编程
56官方微信
扫一扫发现精彩

我要回帖

更多关于 贝加莱plc编程手册 的文章

 

随机推荐