产地类别 | 进口 |
---|
新机遇、新挑战、新市场;服务只有起点,
满意没有终点 欢迎广大客户
本公司代理西门子全系列产品,价格很有优势,
并提供专业技术服务,详情请给我们,我们将竭诚为你服务。
![]() |
参考价 | ¥88 |
订货量 | 1 |
更新时间:2018-12-17 09:34:46浏览次数:314
联系我们时请说明是化工仪器网上看到的信息,谢谢!
6ES7368-3BB01-0AA0
VB与西门子S7-300的OPC通信
一、通过STEP7软件建立一个新项目OPC,在项目中添加SIMATIC 300站和一个PC 站,其中PLC站中第四个槽安装的CP343模块。PC站的*个槽 为OPC SERVER ,第三个槽为 IE GENERAL,然后在NETPRO下配置PLC和PC站的网络连接:(注意:是在PC站上新建的网络连接,连接类型选的S7连接)
二、通过station configurator软件 配置本机的PC站(要和STEP7中配置的相同),然后把PLC和PC站都下载下去(注意:下载PC站的时候要把S7ONLINE (STEP7)--->;PC internal(local))。
三、打开OPC Scout,(Start>;SIMATIC>;SIMATICNet>;OPC Scout), 双击“OPC
SimaticNet”在随之弹出的“ADD Group”对话框中输入组名,本例命名为“OPC”。
点击OK 确认 ;双击已添加的连接组(OPC),即弹出“OPC Navigator”对话框,此窗口中显示 所有的连接协议。双击“S7”,在PC Station 组态NetPro 中所建的连接名会被显示(S7 connection_1)。双击此连接,即可出现有可能被访问的对象树(objects tree),在PLC
CPU 中已存在的DB 块也会出现以上完成的OPC SERVER部分的配置。
四、用VB编写了OPC客户端应用程序。主要程序代码如下:
在VB中引在VB中还要引用 siemens opc daautomation 2.0
(1) 连接OPC服务器
Dim WithEvents MyOPCServer As OPCServer ‘定义服务器对象变量MyOPCServer
Dim WithEvents MyOPCGroup As OPCGroup ‘定义OPC组对象变量MyOPCGroup
Set MyOPCServer = New OPCServer
MyOPCServer.Connect " OPC.SimaticNET" ‘连接SIMATICNET 的OPC服务器
(2) 添加OPC组对象
Set MyOPCGroup=MyOPCServer.OPCGroups.Add("Group1")
‘添加OPC组对象
MyOPCGroup.IsSubscribed= True
‘设置该组数据为后台刷新
MyOPCGroup.IsActive = True
‘设置该组为激活状态
MyOPCGroup.UpdateRate=1000
‘设置数据刷新时间为1000
(3) 添加数据项
Dim abItemIDs() As String ‘项标识符
Dim abClientHandles() As Long ‘客户端句柄
Dim abServerHandles() As Long ‘服务器端句柄
Dim abErrors() As Long
Dim i As Long
ItemCount=3
abItemIDs(1) = " S7:[S7 connection_1]IB1"
abItemIDs(2) = " S7:[S7 connection_1]MB1"
abItemIDs(3) = " S7:[S7 connection_1]QB1"
for i=1 t0 3
abClientHandles(i) = i ‘给客户端句柄赋值
Next
MyOPCGroup.OPCItems.AddItems ItemCount, abItemIDs, abClientHandles, abServerHandles, abErrors ‘添加数据项操作
(4) 同步数据读写
OPC数据存取有同步方式和异步方式两种。异步读写数据复杂,需要与事件结合使用,与同步相比速度慢但准确性高。同步读写数据简单,直接使用OPCItem的方法即可。
Dim One As OPCItem
Dim Index As Long
‘Index为标签顺序号
Dim OneRead As String
Dim Xie As String
Set One = MyOPCGroup.OPCItems(Index)
One.Read OPCCache
OneRead = One.Value ‘读数据
MyOPCGroup.SyncWrite ItemCount, ServerHandles, valuess, Errors ‘同步写数据
MyOPCGroup.SyncRead OPCCache, ItemCount, ServerHandles, ReadValue, Errors ‘同步读数据
One.Write (Xie) ‘写数据
若只读取数据,可以使用DataChange事件,当控制器中所要访问的数据一旦发生改变时将会触发该事件,并将该数据自动读到TxtValue文本框。
Private Sub MyOPCGroup_DataChange(ByVal TransactionID 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))=GetQualityString(Qualities(i)) ‘获取项的品质
Next i
End Sub
(5) 断开OPC服务器
MyOPCServer.OPCGroups.RemoveAll ‘移除所有OPC Group,空出资源
Set MyOPCGroup = Nothing
MyOPCServer.Disconnect ‘断开连接
PLC控制系统的维护内容
日常维护
PLC的日常维护和保养比较简单,主要是更换保险丝和锂电池,基本没有其它易损元器件。由于存放用户程序的随机存储器(RAM)、计数器和具有保持功能的辅助继电器等均用锂电池保护,锂电池的寿命大约为5年,当锂电池的电压逐渐降低到一定程度时,PLC基本单元上电池电压跌落到指示灯亮,提示用户注意有锂电池所支持的程序还可保留一周左右,必须更换电池,这是日常维护的主要内容。
调换锂电池的步骤为:
■在拆装前,应先让PLC通电15秒以上(这样可使作为存储器备用电源的电容器充电,在锂电池断开后,该电容可对PLC做短暂供电,以保护RAM 中的信息不丢失);
■断开PLC的交流电源;
■打开基本单元的电池盖板;
■取下旧电池,装上新电池;
■盖上电池盖板。
注意更换电池时间要尽量短,一般不允许超过3分钟。如果时间过长,RAM中的程序将消失。
此外,应注意更换保险丝时要采用型号的产品。
I/O模块的更换
若需替换一个模块,用户应确认被安装的模块是同类型。有些I/O系统允许带电更换模块,而有些则需切断电源。若替换后可解决问题,但在一相对较短时间后又发生故障,那么用户应检查能产生电压的感性负载,也许需要从外部抑制其电流尖峰。如果保险丝在更换后易被烧断,则有可能是模块的输出电流超限,或输出设备被短路。
PLC的故障诊断是一个十分重要的问题,是保证PLC控制系统正常、可靠运行的关键。本文对常用的故障诊断方法进行了探讨。在实际工作过程中,应充分考虑到对PLC的各种不利因素,定期进行检查和日常维护,以保证PLC控制系统安全、可靠地运行。
PLC系统设计的内容
一、输入回路的设计
1、电源回路 PLC供电电源一般为 AC85—240V(也有DC24V),适应电源范围较宽,但为了抗干扰,应加装电源净化元件(如电源滤波器、1:1隔离变压器等)。
2、PLC上DC24V电源的使用各公司 PLC产品上一般都有DC24V电源,但该电源容量小,为几十毫安至几百毫安,用其带负载时要注意容量,同时作好防短路措施(因为该电源的过载或短路都将影响PLC的运行)。
3、外部DC24V电源 若输入回路有 DC24V供电的接近开关、光电开关等,而PLC上DC24V电源容量不够时,要从外部提供DC24V电源;但该电源的“—”端不要与 PLC的 DC24V的“—”端以及“COM”端相连,否则会影响PLC的运行。
4、输入的灵敏度各厂家对PLC的输人端电压和电流都有规定,如日本三菱公司F7n系列PLC的输入值为:DC24V、7mA,启动电流为4.5mA,关 断电流小于1.5mA,因此,当输入回路串有二极管或电阻(不能*启动),或者有并联电阻或有漏电流时(不能*切断),就会有误动作,灵敏度下降,对 此应采取措施。另一方面,当输入器件的输入电流大于PLC的最大输入电流时,也会引起误动作,应采用弱电流的输入器件,并且选用输人为共漏型输入的 PLC,Bp输入元件的公共点电位相对为负,电流是流出 PLC的输入端。
二、输出回路的设计
1、各种输出方式之间的比较
(1)继电器输出:
优点是不同公共点之间可带不同的交、直流负载,且电压也可不同,带负载电流可达2A/点;但继电器输出方式不适用于高频动作的负载,这是由继电器的寿命决 定的。其寿命随带负载电流的增加而减少,一般在几十万次至Jl百万次之间,有的公司产品可达1000万次以上,响应时间为10ms。
(2)晶闸管输出:
带负载能力为0.2A/点,只能带交流负载,可适应高频动作,响应时间为1ms。
(3)晶体管输出:
是适应于高频动作,响应时间短,一般为0.2ms左右,但它只能带 DC 5—30V的负载,最大输出负载电流为0.5A/点,但每4点不得大于0.8A。
当你的系统输出频率为每分钟6次以下时,应继电器输出,因其电路设计简单,抗干扰和带负载能力强。当频率为10次/min以下时,既可采用继电器输出方式;也可采用PLC输出驱动达林顿三极管(5—10A),再驱动负载,可大大减小。
2、抗干扰与外部互锁当 PLC输出带感性负载,负载断电时会对PLC的输出造成浪涌电流的冲击,为此,对直流感性负载应在其旁边并接续流二极管,对交流感性负载应并接浪涌吸收电 路,可有效保护PLC。当两个物理量的输出在PLC内部已进行软件互锁后,在PLC的外部也应进行互锁,以加强系统的可靠性。
3、“GOM“点的选择不同的 PLC产品,其“COM”点的数量是不一样的,有的一个“COM”点带8个输出点,有的带4个输出点,也有带2个或1个输出点的。当负载的种类多,且电流 大时,采用一个“COM”点带1—2个输出点的 PLC产品;当负载数量多而种类少时,采用一个“COM”点带4—8个输出点的PLC产品。这样会对电路设计带来很多方便,每个“COM”点处加一熔丝, 1—2个输出时加2A的熔丝,4—8点输出的加5—10A的熔丝,因 PLC内部一般没有熔丝。
4、PLC外部驱动电路对于 PLC输出不能直接带动负载的情况下,必须在外部采用驱动电路:可以用三极管驱,也可以用固态继电器或晶闸管电路驱动,同时应采用保护电路和浪涌吸收电 路,且每路有显示二极管(LED)指示。印制板应做成插拔式,易于维修。
PLC的输入输出布线也有一定的要求,请看各公司的使用说明书。
三、扩展模块的选用
对于小的系统,如80点以内的系统.一般不需要扩展;当系统较大时,就要扩展。不同公司的产品,对系统总点数及扩展模块的数量都有限制,当扩展仍不能满足 要求时,可采用网络结构;同时,有些厂家产品的个别指令不支持扩展模块,因此,在进行软件编制时要注意。当采用温度等模拟模块时,各厂家也有一些规定,请 看相关的技术手册。
各公司的扩展模块种类很多,如单输入模块、单输出模块、输入输出模块、温度模块、高速输入模块等。 PLC的这种模块化设计为用户的产品开发提供了方便。
四、PLC的网络设计
当用PLC进行网络设计时,其难度比PLC单机控制大得多。首先你应选用自己较熟悉的机型,对其基本指令和功能指令有较深入的了解,并且指令的执行速度和 用户程序存储容量也应仔细了解。否则,不能适应你的实时要求,造成系统崩溃。另外,对通信接口、通信协议、数据传送速度等也要考虑。
最后,还要向 PLC的商家寻求网络设计和软件技术支持及详细的技术资料,至于选用几层工作站,依你的系统大小而定。
五、软件编制
在编制软件前,应首先熟悉所选用的 PLC产品的软件说明书,待熟练后再编程。若用图形编程器或软件包编程,则可直接编程,若用手持编程器编程,应先画出梯形图,然后编程,这样可少出错,速 度也快。编程结束后先空调程序,待各个动作正常后,再在设备上调试。
引言
在现代化的工业生产设备中,有大量的数字量及模拟量的控制装置,例如电机的启停,电磁阀的开闭,产品的计数,温度、压力、流量的设定与控制等,而PLC技术是解决上述问题的较有效、较便捷的工具,因此PLC在工业控制领域得到了广泛的应用。下面就PLC工业控制系统设计中的问题进行探讨。
2 PLC系统设备选型
PLC最主要的目的是控制外部系统。这个系统可能是单个机器,机群或一个生产过程。不同型号的PLC有不同的适用范围。根据生产工艺要求,分析被控对象的复杂程度,进行I/O点数和I/O点的类型(数字量、模拟量等)统计,列出清单。适当进行内存容量的估计,确定适当的留有余量而不浪费资源的机型(小、中、大形机器)。并且结合市场情况,考察PLC生产厂家的产品及其售后服务、技术支持、网络通信等综合情况,选定价格性能比较好的PLC机型。
目前市场上的PLC产品众多,国外知名品牌有德国的SIEMENS;日本的 OMRON、MITSUBISHI、FUJI、Panasonic;美国的GE;韩国的LG等。国产品牌有研华、研祥、合力时等。近几年,PLC产品的价格有较大的下降,其性价比越来越高。PLC 的选型应从以下几个方面入手。
2.1 确定PLC 控制系统的规模
依据工厂生产工艺流程和复杂程度确定系统规模的大小。可分为大、中、小三种规模。
小规模PLC控制系统:单机或者小规模生产过程,控制过程主要是条件、顺序控制,以开关量为主,并且I/O点数小于128 点。一般选用微型PLC,如SIEMENS S7-200等。
中等规模PLC控制系统:生产过程是复杂逻辑控制和闭环控制,I/O点数在128——512 点之间。应该选用具有模拟量控制、PID控制等功能的PLC,如SIEMENS S7-300等。
大规模PLC控制系统:生产过程是大规模过程控制、DCS系统和工厂自动化网络控制,I/O点数在512点以上。应该选用具有通信联网、智能控制、数据库、中断控制、函数运算的高档PLC,如SIEMENS S7-400等, 再和工业现场总线结合实现工厂工业网络的通讯和控制。
2.2 确定PLC I/O 点的类型
根据生产工艺要求,分析被控对象的复杂程度,进行I/O点数和I/O点的类型(数字量、模拟量等)统计,列出清单。适当进行内存容量的估计,确定适当的留有软硬件资源余量而不浪费资源的机型(小、中、大型机器)。
根据PLC输出端所带的负载是直流型还是交流型,是大电流还是小电流,以及PLC输出点动作的频率等,从而确定输出端采用继电器输出,还是晶体管输出,或品闸管输出。不同的负载选用不同的输出方式,对系统的稳定运行是很重要的。
电磁阀的开闭、大电感负载、动作频率低的设备,PLC输出端采用继电器输出或者固态继电器输出;各种指示灯、变频器/数字直流调速器的启动/停止应采用晶体管输出。
2.3 确定PLC编程工具
(1) 一般的手持编程器编程。 手持编程器只能用商家规定语句表中的语句表(STL)编程。这种方式效率低,但对于系统容量小、用量小的产品比较适宜,具有体积小、价格低、易于现场调试等优点。 这主要用于微型PLC的编程。
(2) 图形编程器编程。图形编程器采用梯形图(LAD)编程,方便直观,一般的电气人员短期内就可应用自如,但该编程器价格较高,主要用于微型PLC和中档PLC。
(3) 计算机加PLC软件包编程 。这种方式是效率最高的一种方式,但大部分公司的PLC 开发软件包价格昂贵,并且该方式不易于现场调试,主要用于中高档PLC系统的硬件组态和软件编程。
3 PLC控制系统的设计
PLC 控制系统设计包括硬件设计和软件设计。
3.1 PLC控制系统的硬件设计
硬件设计是PLC控制系统的至关重要的一个环节,这关系着PLC控制系统运行的可靠性、安全性、稳定性。主要包括输入和输出电路两部分。
(1) PLC控制系统的输入电路设计。PLC供电电源一般为AC85—240V,适应电源范围较宽,但为了抗干扰,应加装电源净化元件(如电源滤波器、1:1隔离变压器等);隔离变压器也可以采用双隔离技术,即变压器的初、次级线圈屏蔽层与初级电气中性点接大地,次级线圈屏蔽层接PLC 输入电路的地,以减小高低频脉冲干扰。
PLC输入电路电源一般应采用DC 24V, 同时其带负载时要注意容量,并作好防短路措施,这对系统供电安全和PLC安全至关重要,因为该电源的过载或短路都将影响PLC的运行,一般选用电源的容量为输入电路功率的两倍,PLC输入电路电源支路加装适宜的熔丝,防止短路。
(2) PLC控制系统的输出电路设计。依据生产工艺要求,各种指示灯、变频器/数字直流调速器的启动停止应采用晶体管输出,它适应于高频动作,并且响应时间短;如果PLC 系统输出频率为每分钟6 次以下,应继电器输出,采用这种方法,输出电路的设计简单,抗干扰和带负载能力强。
如果PLC输出带电磁线圈等感性负载,负载断电时会对PLC的输出造成浪涌电流的冲击,为此,对直流感性负载应在其旁边并接续流二极管,对交流感性负载应并接浪涌吸收电路,可有效保护PLC。
当PLC扫描频率为10次/min 以下时,既可以采用继电器输出方式,也可以采用PLC输出驱动中间继电器或者固态继电器(SSR),再驱动负载。
对于两个重要输出量,不仅在PLC内部互锁,建议在PLC外部也进行硬件上的互锁,以加强PLC系统运行的安全性、可靠性。
对于常见的AC220V交流开关类负载,例如交流接触器、电磁阀等,应该通过DC24V微小型中间继电器驱动,避免PLC的DO接点直接驱动,尽管PLC手册标称具有AC220V交流开关类负载驱动能力。
(3) PLC控制系统的抗干扰设计。随着工业自动化技术的日新月异的发展,晶闸管可控整流和变频调速装置使用日益广泛,这带来了交流电网的污染,也给控制系统带来了许多干扰问题,防干扰是PLC控制系统设计时必须考虑的问题。一般采用以下几种方式:
隔离:由于电网中的高频干扰主要是原副边绕组之间的分布电容耦合而成,所以建议采用1:1超隔离变压器,并将中性点经电容接地。
屏蔽:一般采用金属外壳屏蔽,将PLC系统内置于金属柜之内。金属柜外壳可靠接地,能起到良好的静电、磁场屏蔽作用,防止空间辐射干扰。
布线:强电动力线路、弱电信号线分开走线,并且要有一定的间隔;模拟信号传输线采用双绞线屏蔽电缆。
3.2 PLC 控制系统的软件设计
在进行硬件设计的同时可以着手软件的设计工作。软件设计的主要任务是根据控制要求将工艺流程图转换为梯形图,这是PLC应用的最关键的问题,程序的编写是软件设计的具体表现。在控制工程的应用中,良好的软件设计思想是关键,优秀的软件设计便于工程技术人员理解掌握、调试系统与日常系统维护。
(1) PLC控制系统的程序设计思想。由于生产过程控制要求的复杂程度不同,可将程序按结构形式分为基本程序和模块化程序。
基本程序:既可以作为独立程序控制简单的生产工艺过程,也可以作为组合模块结构中的单元程序;依据计算机程序的设计思想,基本程序的结构方式只有三种:顺序结构、条件分支结构和循环结构。
模块化程序:把一个总的控制目标程序分成多个具有明确子任务的程序模块,分别编写和调试,最后组合成一个完成总任务的完整程序。这种方法叫做模块化程序设计。我们建议经常采用这种程序设计思想,因为各模块具有相对独立性,相互连接关系简单,程序易于调试修改。特别是用于复杂控制要求的生产过程。
(2) PLC控制系统的程序设计要点。PLC控制系统I/O分配,依据生产流水线从前至后,I/O点数由小到大;尽可能把一个系统、设备或部件的I/O信号集中编址,以利于维护。定时器、计数器要统一编号,不可重复使用同一编号,以确保PLC工作运行的可靠性。
程序中大量使用的内部继电器或者中间标志位(不是I/O位),也要统一编号,进行分配。
在地址分配完成后,应列出I/O分配表和内部继电器或者中间标志位分配表。
彼此有关的输出器件,如电机的正/反转等,其输出地址应连续安排,如Q2.0/Q2.1等。
(3) PLC控制系统编程技巧。PLC程序设计的原则是逻辑关系简单明了,易于编程输入,少占内存,减少扫描时间,这是PLC 编程必须遵循的原则。下面介绍几点技巧。
PLC各种触点可以多次重复使用,无需用复杂的程序来减少触点使用次数。
同一个继电器线圈在同一个程序中使用两次称为双线圈输出,双线圈输出容易引起误动作,在程序中尽量要避免线圈重复使用。如果必须是双线圈输出,可以采用置位和复位操作(以S7-300为例如SQ4.0或者 RQ4.0)。
如果要使PLC多个输出为固定值 1 (常闭),可以采用字传送指令完成,例如 Q2.0、Q2.3、Q2.5、Q2.7同时都为1,可以使用一条指令将十六进制的数据0A9H直接传送QW2即可。
对于非重要设备,可以通过硬件上多个触点串联后再接入PLC输入端,或者通过PLC编程来减少I/O点数,节约资源。例如:我们使用一个按钮来控制设备的启动/停止,就可以采用二分频来实现。
模块化编程思想的应用:我们可以把正反自锁互锁转程序封装成为一个模块,正反转点动封装成为一个模块,在PLC程序中我们可以重复调用该模块,不但减少编程量,而且减少内存占用量,有利于大型PLC 程序的编制。
4 PLC控制系统程序的调试
PLC控制系统程序的调试一般包括I/O端子测试和系统调试两部分内容,良好的调试步骤有利于加速总装调试的过程。
4.1 I/O端子测试
用手动开关暂时代替现场输入信号,以手动方式逐一对PLC输入端子进行检查、验证,PLC输入端子的指示灯点亮,表示正常;反之,应检查接线或者是I/O点坏。
我们可以编写一个小程序,在输出电源良好的情况下,检查所有PLC输出端子指示灯是否全亮。PLC输入端子的指示灯点亮,表示正常。反之,应检查接线或者是I/O点坏。
4.2 系统调试
系统调试应首先按控制要求将电源、外部电路与输入输出端子连接好,然后装载程序于PLC中,运行PLC进行调试。将PLC与现场设备连接。在正式调试前全面检查整个PLC控制系统,包括电源、接地线、设备连接线、I/O连线等。在保证整个硬件连接正确无误的情况下即可送电。
把PLC控制单元的工作方式设置为“RUN”开始运行。反复调试消除可能出现的各种问题。在调试过程中也可以根据实际需求对硬件作适当修改以配合软件的调试。应保持足够长的运行时间使问题充分暴露并加以纠正。调试中多数是控制程序问题。一般分以下几步进行:
(1) 对每一个现场信号和控制量做单独测试;
(2) 检查硬件/修改程序;
(3) 对现场信号和控制量做综合测试;
(4) 带设备调试;
(5) 调试结束。
5 结束语
PLC控制系统的设计是一个步骤有序的系统工程,要想做到熟练自如,需要反复设计和实践。本文是PLC控制系统的设计和实践经验的总结,在实际应用中具有良好的效果。
6ES7368-3BB01-0AA0