西安西门子PLC模块变频器供应商
  • 西安西门子PLC模块变频器供应商
  • 西安西门子PLC模块变频器供应商
  • 西安西门子PLC模块变频器供应商

产品描述

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

西安西门子PLC模块变频器供应商


1 引言

数控机床是典型的机电一体化系统。PLC工程现场界面涉及光、机、电、气、液等复杂的输入输出信令,加之PLC对于信号的逻辑处理具有的抽象运算特征,使得工业现场故障处理工作通常是相当的复杂困难,PLC机电系统现场故障往往使得缺少工程经验的设备管理者们束手无策,较长时间的故障处理处理可以大幅度降低产能,严重影响生产。本文以就事论事的方式平铺直叙具体的机电工程现场故障处理案例,保留住故障处理经验中珍贵的分析判断过程。

2 数控机床故障诊断案例

2.1 甄别PLC内外部故障实例

配备820数控系统的某加工,产生7035号报警,查阅报警信息为工作台分度盘不回落。在SINUMERIK 810/820S数控系统中,7字头报警为PLC操作信息或机床厂设定的报警,指示CNC系统外的机床侧状态不正常。处理方法是,针对故障的信息,调出PLC输入/输出状态与拷贝清单对照。

工作台分度盘的回落是由工作台下面的接近开关SQ25、SQ28来检测的,其中SQ28检测工作台分度盘旋转到位,对应PLC输入接口110.6,SQ25检测工作台分度盘回落到位,对应PLC输入接口110.0。工作台分度盘的回落是由输出接口Q4.7通过继电器KA32驱动电磁阀YV06动作来完成。

从PLC STATUS中观察,110.6为“1”,表明工作台分度盘旋转到位,I10.0为“0”,表明工作台分度盘未回落,再观察Q4.7为“0”,KA32继电器不得电,YV06电磁阀不动作,因而工作台分度盘不回落产生报警。

处理方法:手动YV06电磁阀,观察工作台分度盘是否回落,以区别故障在输出回路还是在PLC内部。

2.2 诊断接近开关故障实例

某立式加工自动换故障。

故障现象:换臂平移到位时,无拔动作。

ATC动作的起始状态是:(1)主轴保持要交换的旧。(2)换臂在B位置。(3)换臂在上部位置。(4)库已将要交换的新定位。

自动换的顺序为:换臂左移(B→A)→换臂下降(从库拔)→换臂右移(A→B)→换臂上升→换臂右移(B→C,抓住主轴中)→主轴液压缸下降(松)→换臂下降(从主轴拔)→换臂旋转180°(两交换位置)→换臂上升(装)→主轴液压缸上升(抓)→换臂左移(C→B)→库转动(找出旧位置)→换臂左移(B→A,返回旧给库)→换臂右移(A→B)→库转动(找下把)。换臂平移至C位置时,无拔动作,分析原因,有几种可能:

(1)SQ2无信号,使松电磁阀YV2未激磁,主轴仍处抓状态,换臂不能下移。

(2)松接近开关SQ4无信号,则换臂升降电磁阀YV1状态不变,换臂不下降。

(3)电磁阀有故障,给予信号也不能动作。

逐步检查,发现SQ4未发信号,进一步对SQ4检查,发现感应间隙过大,导致接近开关无信号输出,产生动作障碍。

2.3 诊断压力开关故障实例

配备FANUC 0T系统的某数控车床。

故障现象:当脚踏尾座开关使套筒紧工件时,系统产生报紧。

在系统诊断状态下,调出PLC输入信号,发现脚踏向前开关输入X04.2为“1”,尾座套筒转换开关输入X17.3为“l”,润滑油供给正常使液位开关输入X17.6为“1̶1;。调出PLC输出信号,当脚踏向前开关时,输出Y49.0为“1”,同时,电磁阀YV4.1也得电,这说明系统PLC输入/输出状态均正常,分析尾座套筒液压系统。

当电磁阀YV4.1通电后,液压油经溢流阀、流量控制阀和单向阀进入尾座套筒液压缸,使其向前紧工件。松开脚踏开关后,电磁换向阀处于中间位置,油路停止供油,由于单向阀的作用,尾座套筒向前时的油压得到保持,该油压使压力继电器常开触点接通,在系统PLC输入信号中X00.2为“l”。但检查系统PLC输入信号X00.2则为“0”,说明压力继电器有问题,其触点开关损坏。

故障原因:因压力继电器SP4.1触点开关损坏,油压信号无法接通,从而造成PLC输入信号为“0”,故系统认为尾座套筒未紧而产生报警。

解决方法:换新的压力继电器,调整触点压力,使其在向前脚踏开关动作后接通并保持到压力取消,故障排除。

2.4 诊断中间继电器故障实例

某数控机床出现防护门关不上,自动加工不能进行的故障,而且无故障显示。该防护门是由气缸来完成开关的,关闭防护门是由PLC输出Q2.0控制电磁阀YV2.0来实现。检查Q2.0的状态,其状态为“1”,但电磁阀YV2.0却没有得电,由于PLC输出Q2.0是通过中间继电器KA2.0来控制电磁阀YV2.0的,检查发现,中间继电器损坏引起故障,换继电器,故障被排除。

另外一种简单实用的方法,就是将数控机床的输入/输出状态列表,通过比较通常状态和故障状态,就能诊断出故障的部位。

2.5 根据梯形图逻辑诊断DI点故障实例

配备SINUMERIK 810数控系统的加工,出现分度工作台不分度的故障且无故障报警。根据工作原理,分度时将分度的齿条与齿轮啮合,这个动作是靠液压装置来完成的,由PLC输出Q1.4控制电磁阀YVl4来执行,PLC梯形图如下图所示。

通过数控系统的DIAGNOSIS能中的“STATUS PLC”软键,实时查看Q1.4的状态,发现其状态为“0”,由PLC梯形图查看F123.0也为“0”,按梯形图逐个检查,发现F105.2为“0”导致F123.0也为“0”,根据梯形图,查看STATUS PLC中的输入信号,发现I10.2为“0”,从而导致F105.2为“0”。I9.3、I9.4、I10.2和I10.3为四个接近开关的检测信号,以检测齿条和齿轮是否啮合。分度时,这四个接近开关都应有信号,即I9.3、I9.4、I10.2和I10.3应闭合,现I10.2未闭合,处理方法:(1)检查机械传动部分。(2)检查接近开关是否损坏。

2.6 根据梯形图逻辑诊断DO点故障实例

配备SINUMERIK 810数控系统的双工位、双主轴数控机床。

故障现象:机床在AUTOMATIC方式下运行,工件在一工位加工完,一工位主轴还没有退到位且旋转工作台正要旋转时,二工位主轴停转,自动循环中断,并出现报警且报警内容表示二工位主轴速度不正常。

两个主轴分别由B1、B2两个传感器来转速,通过对主轴传动系统的检查,没发现问题。用机外编程器观察梯形图的状态。

F112.0为二工位主轴起动标志位,F111.7为二工位主轴起动条件,Q32.0为二工位主轴起动输出,I21.1为二工位主轴卡紧检测输入,F115.1为二工位卡紧标志位。

在编程器上观察梯形图的状态,出现故障时,F112.0和Q32.0状态都为“0”,因此主轴停转,而F112.0为“0”是由于Bl、B2主轴速度不正常所致。动态观察Q32.0的变化,发现故障没有出现时,F112.0和F111.7都闭合,而当出现故障时,F111.7瞬间断开,之后又马上闭合,Q32.0随F111.7瞬间断开其状态变为“0”,在Flll.7闭合的同时,F112.0的状态也变成了“0”,这样Q32.0的状态保持为“0”,主轴停转。Bl、B2由于Q32.0随F111.7瞬间断开测得速度不正常而使F112.0状态变为“0”。主轴起动的条件F111.7受多方面因素的制约,从梯形图上观察,发现F111.6的瞬间变“0”引起Flll.7的变化,向下检查梯形图PB8.3,发现卡紧标志F115.1瞬间变“0”,促使Flll.6发生变化,继续跟踪梯形图PB13.7,观察发现,在出故障时,I21.1瞬间断开,使F115.1瞬间变“0”,后使主轴停转。I21.1是液压卡紧压力检测开关信号,它的断开指示卡紧力不够。由此诊断故障的根本原因是液压卡紧力波动,调整液压使之正常,故障排除。

3 结束语

通过典型实例与故障现象对数控系统、立式加工自动换故障、配备FANUC 0T系统的某数控车床、配备SINUMERIK 810数控系统的双工位、双主轴数控机床等运行中存在的问题加以分析,并作出相应的故障排除方法。


基于OPC技术的上位机与PLC之间的通信

1 引言
现代工业控制系统通常以PC机为上位机,通过与现场工控设备如PLC的数据交换与处理,实现对生产过程的自动控制。对于小型控制系统,采用专门的组态软件成本太高,用VB设计监控系统则可以降,但要解决上位机与PLC之间通信问题。以往使用较多的进程间通信方式是DDE(动态数据交换)方式,随着OPC技术的发展和普及,它已成为工业过程控制的通信标准。OPC服务器有两类接口,其中自动化接口主要用于VB、Delphi等开发工具。本文利用罗克韦尔公司提供的OPC接口,用VB编写了客户端应用程序,实现了上位机与AB可编程控制器之间的数据交换。

2 OPC技术简介


OPC(OLE for Process Control—用于过程控制的对象连接与嵌入)是一套以微软对象连接与嵌入OLE、组件对象模型COM、分布式组件对象模型DCOM(Distributed COM)技术为基础,基于bbbbbbs操作平台,为工业应用程序之间提供的信息集成和交互功能的组件对象模型接口标准。OPC实际上是提供了一种机制,通过这种机制,系统能够以服务器/客户端标准方式从服务器数据并将其传递给任何客户应用程序。这样,只要生产商开发一套遵循OPC规范的服务器与数据进行通信,其他任何客户应用程序便能通过服务器访问设备。

OPC服务器有两类接口:定制接口和自动化接口。定制接口为C++程序服务,自动化接口为VB这一类可使用自动化对象的程序服务。定制接口是服务商提供的,而自动化接口则是可选的,不过OPC会提供了一个叫做“自动化包装器”的动态连接库,用于在两者间转换。
OPC数据存取规范规定的基本对象有:服务器(server)、组(group)和数据项(item)。服务器对象包含服务器的所有信息,也是组对象的容器,一个服务器对应于一个OPC server,即一种设备的驱动程序。组对象除了包含它自身信息外,还负责管理数据项。每一个数据项代表到数据源的一个连接,但它没有提供外部接口,客户端程序无法对数据项直接进行操作,应用程序依靠数据项的容器组对象来对它进行操作。

3 通信实现
3.1 RSLinx的配置
RSLinx是AB可编程控制器在bbbbbbs环境下建立工厂所用通信方案的工具,它不仅提供了多种网络驱动程序,而且提供了快速的OPC、DDE和Custom C/C++接口。本设计中上位机与Logix5550控制器采用RS-232串口方式连接,在RSLinx中要对DF1网络驱动程序组态,设置串口特性:COM1、波特率19200bps、一个停止位、无奇偶校验、全双工、BCC校验码。此外要使用RSLinx的OPC接口作为服务器,还要在RSLinx中对OPC进行配置。

3.2 安装OPC自动化接口服务
若要用VB开发OPC应用程序,安装OPC自动化接口服务,保计算机系统目录下有OPCDAAuto.dll。OPC会提供了一个叫做“自动化包装器”的动态连接库,从OPC会的网站(www.)可下载。在VB环境中,按“工程”的子菜单“引用…”后,弹出对话框,选择其中的“RSLinx OPC Automation 2.0”项,这样才能使用自动化接口。

3.3 程序设计
用VB编写了OPC客户端应用程序,实现了上位机与Logix5550控制器之间的通信。主要程序代码如下:

(1) 连接OPC服务器
Dim WithEvents MyOPCServer As OPCServer ‘定义服务器对象变量MyOPCServer
Dim WithEvents MyOPCGroup As OPCGroup ‘定义OPC组对象变量MyOPCGroup
Set MyOPCServer = New OPCServer
MyOPCServer.Connect "RSLinx OPC Server" ‘连接RSLinx 的OPC服务器

(2) 添加OPC组对象
Set MyOPCGroup=MyOPCServer.OPCGroups.Add("Group1")
‘添加OPC组对象MyOPCGroup.IsSubscribed= True
‘设置该组数据为后台刷新
MyOPCGroup.IsActive = True
‘设置该组为状态


MyOPCGroup.UpdateRate=1000
‘设置数据刷新时间为1000

(3) 添加数据项
Dim abItemIDs() As bbbbbb
‘项标识符
Dim abClientHandles() As Long
‘客户端句柄
Dim abServerHandles() As Long
‘服务器端句柄
Dim abErrors() As Long
Dim i As Long
ItemCount=5
Dim oOPCItem As RSLinxOPCAutomation.OPCItem
For i = 1 To 5
abItemIDs(i) = "[" & txtTopic & "]" & txtItem(i) ‘将Topic名和标签名赋给项标识符
abClientHandles(i) = i
‘给客户端句柄赋值
Next i
MyOPCGroup.OPCItems.AddItems ItemCount, abItemIDs, abClientHandles, abServerHandles, abErrors
‘添加数据项操作

(4) 同步数据读写
OPC数据存取有同步方式和异步方式两种。异步读写数据复杂,需要与事件结合使用,与同步相比速度慢但准确性高。同步读写数据简单,直接使用OPCItem的方法即可。
Dim One As OPCItem
Dim Index As Long
‘Index为标签顺序号
Dim OneRead As bbbbbb
Dim Xie As bbbbbb
Set One = MyOPCGroup.OPCItems(Index)
One.Read OPCCache
OneRead = One.Value
‘读数据
One.Write (Xie)
‘写数据
若只读取数据,可以使用DataChange事件,当控制器中所要访问的数据一旦发生改变时将会触发该事件,并将该数据自动读到TxtValue文本框。
Private Sub MyOPCGroup_DataChange(ByVal TransbbbbbbID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date)
‘自动刷新数据
Dim i As Long
For i = 1 To NumItems
txtValue(ClientHandles(i)) = ItemValues(i)
‘项的值
txtTime(ClientHandles(i)) = TimeStamps(i)
‘项的时间戳
txtQuantity(ClientHandles(i))=GetQualitybbbbbb(Qualities(i))
‘项的品质
Next i
End Sub

(5) 断开OPC服务器
MyOPCServer.OPCGroups.RemoveAll
‘移除所有OPC Group,空出资源
Set MyOPCGroup = Nothing
MyOPCServer.Disconnect
‘断开连接



1  引言
西门子S7-200PLC是德国西门子公司生产的小型PLC。S7-200以其高性、指令丰富、内置功能丰富、强劲的通讯能力、较高的性价比等特点,在工业控制领域中被广泛应用。S7-200PLC的特点之一是自由口通讯功能。如何实现S7-200PLC与个人计算机的互联通信,是S7-200PLC应用的技术关键。
可编程控制器与计算机之间的通讯一般是通过RS-422口或RS-232C口进行的,信息交换的方式为字符串方式,运用RS-232C或RS-422通道,容易配置一个与计算机进行通信的系统,将所有软元件的数据和状态用可编程控制器送入计算机,由计算机采集这些数据,进行分析及运行状态监测。用计算机改变可编程控制器设备的初始值和设定值,从而实现计算机与可编程控制器的直接控制,一旦确定了可编程控制器的控制指令,就能很方便地与计算机连接。

2  S7-200的自由口通讯模式
S7-200支持多种通讯模式,如点点接口(PPI)、多点接口(MPI)、Rrofibus DP等。PPI等通讯协议主要用于西门子系列产品之间的通讯以及对PLC编程。在自由口模式下,可由用户控制串行通讯接口,实现用户自定义的通讯协议。用户可以用梯形图程序调用接收中断、发送中断、发送指令(XMT)、接受指令(RCV)来控制通信操作。在自由口模式下,通信协议由梯形图程序控制。
S7-200CPU上的通信口是与RS-485兼容的9针D型连接器,PLC还提供了实现 RS-485与 PC机上RS-232C相连接的PC/PPI电缆,利用它可以方便地实现S7-200系列PLC与PC之间的硬件连接。
S7-200的编程软件为STEP7-Micro/WIN32,该软件有STL、FBD和Ladder三种编程模式,有SIMATIC指令和IEC131-3指令两种指令。本文所给出的范例是使用SIMATIC指令的STL编程。

3  S7-200 PLC端的通讯程序实现
PLC程序分为主程序和中断程序。主程序完成初始化通信口、开中断、判断、发送数据等功能,中断程序完成接收和发送数据的功能。接收指令(RCV)启动或终止接收信息功能,为接收操作开始和结束条件。发送指令(XMT)在自由口模式下依靠通讯口发送数据。
3.1  控制字的选取
反映CPU工作方式的模式开关当前位置的特殊存储器位为SM0.7,它控制自由端口模式的进入。当SM0.7为0时,模式开关处于TREM位置;当SM0.7为1时模式开关处于RUN位置。而只有当模式开关位于RUN位置时,才允许进行自由口通讯。SMB30是自由口模式控制字节,用来设定校验方式、通讯协议、波特率等通讯参数(其它控制字的设定参阅有关书籍)。
3.2  程序的一些简单介绍
NETWORK1
LD  SM0.1   // 次扫描
MOVB  16#09,SMB30  
//自由口通讯模式:9600波特率,无奇偶校验,8个数据位
MOVB  16#7C,SMB87 //接收信息状态字节
MOVB  16#53,SMB88 
//设置信息的开始字符“S”
MOVB  16#45,SMB89 
//设置信息的结束字符“E”
MOVW  +5,SMW90   
//设定空闲行的时间间隔(ms)
MOVW  +179,SMW92 
//字符间/信息间定时器时值(ms)
MOVB  60,SMB94  //接收字符的个数
NETWORK2
LD  SM0.1 MOVB 16#53,VB2499 
//设置接收和发送缓冲区的地址
ATCH  发送完中断,9    
//把发送完成中断和发送完成中断子程序连接起来
ATCH  接收完中断,23  
//把接收完成中断和接收完成中断子程序连接起来
ENI    //允许中断
PLC程序的主要流程框图如图1所示:



图1     PLC程序流程4  自由口通讯在PC 端程序实现
为了充分利用计算机数据处理的强大功能,可以在上位机编写程序来实现计算机与PLC的通讯。可以用VC或VB实现上位机和PLC的通讯。
4.1  利用VC6.0 或VC6.0 MSComm控件实现
MSComm控件Microsoft公司提供的简化的bbbbbbs下串行通讯编程的ActiveX控件,它为应用程序提供了通过串口收发数据的简便方法。PC机通过RS-232口与PLC进行通信,该通信控件提供了使用RS-232开发串行通信软件的细则,使用事件驱动或查询方式来解决开发通信软件中遇到的问题。事件驱动是一种强大的处理问题的方法,对事件发生的跟踪和处理在通信软件中用Oncomm来实现,它包括和处理通信错误等;查询方式则要求设计者自行读取CommEven值,并判断发生何种事件,再对之进行处理。该控件有许多重要的属性,主要的属性如附表所示。


附表     MSComm属性



开发通信软件只需上述几个重要属性设置好通信口,然后用SetOutput指令发送命令。按照通信协议,待PC机与PLC握手成功后,可按特定的数据格式通过Getbbbbb或SetOutput来接收或发送数据。
4.2  利用VC6.0 CSerialPorts类实现
如果在程序中使用多个串口,而且还要做很复杂的处理工作,那么不用MSComm控件。如果这时候不愿意自己编写底层函数,就可以使用CSerial Ports类。
这个类是由Remon编写的。其中详细的功能可以在其网站上查询。
将SerialPort.h 和 SerialPort.cpp两个类文件复制到工程文件夹中,用 Project -> Add to project -> Files命令将上述两个文件加入工程。
串口的初始化:
在这种方式下,串口的初始化通常放在一个自定义的函数中,这样可以使用多不同的端口,下面以初始化COM的为例给出部分代码。
void CtestView::OpenCom2()
{   DCB dc;
dc.DCBlength = sizeof(DCB);
dc.BaudRate = CBR_9600;  
//速率为9600
dc.ByteSize = 8;  
//8位数据位
dc.StopBits = ONESTOPBIT;   
//1位停止位
dc.Parity = NOPARITY;  
//无校验
}     
其中DCB(设备控制块)是一种数据结构,用以实现串口属性的设置。
数据的接收和发送:
数据接收是调用了ReadByte函数,每次读取一个BYTE型变量,多个数据的读取可以通过循环实现。数据发送是调用WriteByte函数,每次只能发送一个无符号的char型或者与之等价的数据,多个数据可以通过循环实现。
4.3  利用PCommPro应用软件实现
与PLC通讯时,PC机还可采用的PCommPro应用软件,该软件是通过Win32初级API函数的调用来控制和使用通讯端口。与VB/VC中的MComm控件相比较,使用较复杂些,但通讯输出控制较好。
在程序中PC机接收数据采用回调函数的处理方式,即欲建立事件,需给定一个函数的地址,当事件发生时,Pcomm便到该回调函数所在的地址去执行该程序代码。所谓回调函数是指当调用一个函数时(尤其是API),该函数会要求调用者提供一个函数的,当被调用函数执行后,会再去调用此函数,目的是将结果传送回来让用户知道,或是该被调用函数需要另一个参考的函数运算等,这种做法就称为回调。Pcomm中的回调函数主要介绍以下几种。
Sio_term_irq:当收到终止字符时引发事件程序;
Sio_cnt_irq:接收到固定字符时引发事件;
Sio_modem_irq:当硬件线路的电压发生变化时,引发事件,硬件线路包括DCD,DSR,CTS,RI4支管脚;
Sio_break_irq:当接到中断信号时引发事件。
在程序设计中要根据具体的情况来选择不同的回调函数。例:数据以ASCII值形式传递时,可以使用Sio_term_irq函数,即当收到终止字符时引发事件程序,也可以使用其它回调函数。但当传递的数据以字节形式表示时,使用Sio_term_irq函数可能会引发一些问题,是因为传递的数据值可能与函数所设置的终止字符相同,可能造成接收数据的不完整。




图2     PC的主要程序流程框图
应用到的其它函数还有如下:
sio_open():打开通信端口;
sio_ioctl():设置传输的端口参数,给定的参数有三个,有端口号码、波特率和参数模式(由数据位、停止位和奇偶检验位3部分组成);
sio_read():从接收缓冲区中读取字符串;
sio_write():把发送缓冲区中的数据发送出去;
sio_close():关闭通讯端口,此操作会导致所有的接收和传送操作都停止。
PC程序的主要流程框图如图2所示。
 
5  结束语
S7-200的自由口通讯方式,使用户可以通过PLC指令自己定义通讯协议,从而与任何公开通讯协议的RS-422或RS-232C接口设备进行通讯,使通讯范围大为增加,控制系统配制加灵活。随着计算机的普及,人们希望在享受PLC控制功能的同时,利用个人计算机大量丰富的软件,将PLC的信息转换成各类画面显示,并可以对PLC的参数进行实时修改,达到管理、控制一体化



http://zhangqueena.b2b168.com

产品推荐