西门子G120 是一个由多种不同功能单元组成的模块化变频器。两种主要的单元是:● 控制单元(CU)● 功率模块(PM)控制单元可以以几种不同的方式对功率模块和所接的电机进行控制和监控。它支持与本地或*控制的通信并且支持通过监控设备和输入/输出端子的直接控制。功率模块支持的电机的功率范围为 0.37kW 至 250kW。
产品简介
详细介绍
浙江西门子G120变频器(核心)代理商欢迎您
在实际应用过程中,某些时候可能会采用VB/DELPHI/VC等高级语言,自主编程与西门子PLC进行通讯,这类帖子、论文在网上都可以找到,在此总结一下。
1、Prodave通讯
Prodave是西门子提供的一个软件包,为高级语言编程和plc通讯提供接口。
通讯接口:MPI
因为MPI口是每块cpu的编程口,所以plc不需要另外添加通讯模块,这个方案就比较经济,而且prodave软件包里面附带了example和详细的说明,用起来应该比较简单和方便(本人只匆匆看过文档,没有实验过)。这方面的资料在百度上很多。当然,mpi的速度是有限的,如果采用普通的pcadapter连接pc和plc,高速度也就38.4kbps,我不知道prodave能否支持mpi卡(5611之类的话),如果可以的话速度可以达到187.5kbps。
2、串行通讯
看到过一些论文,采用串行通讯的方法实现pc和plc通讯。这种情况存在几点要求:
a、需要为plc添加一块串行通讯模块,比如300的话就需要cp340或者cp341(前者便宜些);
b、plc里面需要对串行通讯进行编程,其实也就是接收报文和发送报文,调用fb2/fb3(cp340的话)。
c、串行通讯的速度是有目共睹的,而且cp340或者cp341的数据吞吐量也是有限的,即报文长度是有限制的,因此个人认为通讯数据量大的话采用串行通讯就不合适了。
d、报文格式的话就比较自由,但是也应当合理,我虽然没有具体实验过,但是个人认为可以参考modbus的报文结构来编程,甚至就采用modbus的规范,不过这样的话要求编程者对pc和plc侧的modbus编程都要熟悉。
3、OPC
Opc是这些年来很流行的东西,其实我很讨厌opc的安全认证的设定。不过采用opc编程来访问plc真的是一件非常轻松惬意的事情。你需要做的就是了解opc的结构和编程,尤其是采用vb来编写opc简直是件傻瓜化的工作当然也牺牲了很多。
前面我实验了用vb通过opc(以太网)来访问300,包括用西门子的simaticnet提供的opc接口和第三方的kepserver。
采用opc接口编程的优点:通讯速度快,编程简单。
4、以太网编程
采用以太网编程访问plc,其实又可以分为两种:
一种是socket接口,需要在plc里面编程进行收/发,大概是fc5/fc6吧,印象不深了,当然plc里面要定义一个connection,填好地址、端口号之类的信息,这个对于熟悉西门子工业通讯的人是很easy的事情。Pc侧采用socket接口编程,简单的就是vb里面的wisock控件,当然这掩盖了很多细节。Socket编程本来就是一门艺术,讲究说学逗唱:)
这个方法的优点应该是pc侧编程稍微简单点(相对于后一种),而且可以不局限于windows平台,因为socket接口被诸如unix支持的更好。
第二种是采用西门子的sapi接口函数,这样plc里面不需要过多的编程了,当然pc侧的编程难度就比较高了,ms只能用c来写,所以我望而却步鸟。看过相关帖子和论文,有高人在项目里面就这么干的,而且数据量很大,看来高人很多很多啊,向他们致敬!关于sapi的资料其实都在simaticnet软件光盘里面,有兴趣的可以去找来看看。
西门子S7-300/400的PLC用户程序结构与S7-200有明显的不同,可以使用线性化结构以及功能调用式结构与结构化编程。
采用调用式结构与结构化编程时,程序以组织块(OB)、程序块(FC)、功能块(FB)、系统程序块( SFC)、系统功能块(SFB)、数据块(DB)等形式出现,其中,组织块(OB)、程序块(FC)、功能块(FB)统称为“逻辑块(Logic Block)”;系统程序块(SFC)、系统功能块(SFB)统称为“系统块”。
(1)组织块(OB)
组织块(Organization Blocks,简称OB)提供了PLC内部CPU操作系统与用户程序间的接口,它是由CPU操作系统直接进行调用的逻辑块,用来管理PLC程序中各组成部分的调用和执行中断。OB决定了PLC用户程序的结构与块的调用顺序,起到了“管理”用户程序的作用。
S7-300/400不同的CPU类型,可以选择、支持不同的OB块,但OB1是所有PLC用户程序的循环控制块,它是运行PLC用户程序的前提条件,因此,任何PLC程序、任何CPU都不可以缺少OB1。
OB块的调用条件被称为“触发事件”,根据“触发事件”的不同,OB块可以分为若干级别,各个级别有不同的优先级,高优先级的OB可以中断低优先级OB的执行。如果需要,S7系列PLC除OB1外,还可以使用多个OB块。
(2)程序块(FC)
程序块(Function,简称FC)是由用户编写的、不需要专门数据块的常用逻辑块。
FC块在程序中一般不可以重复调用,在大多数场合,FC块应直接使用PLC的“地址”或“符号地址”进行编程,但根据需要,可以定义部分程序变量。
与S7-200 -样,FC块的“临时变量”同样存储在局部变量数据堆栈(L)中,这一区域为全部程序块所公用,只可以用于FC块内部使用的中间运算结果寄存(这些中间运算结果不可以用于FC块外部);程序块执行完成后,局部变量数据堆栈内的数据将被其他块所需要的内容所替代。如果需要保存可以用于其他逻辑块的状态,应使用PLC的内部标志寄存器M或使用“数据块DB”。
在程序块FC中,有部分为PLC生产厂家所提供的、集成在S7 CPU操作系统中的逻辑块,称为系统程序块(System Function,简称SFC)。系统程序块SFC属于PLC内部操作系统的一部分,用户不需要编写,也不可以对其进行编辑,但可以根据需要直接调用。
(3)功能块(FB)
功能块(Function Blocks,简称FB块)是由用户编写的、需要数据块(Instance Data Blocks,称为“即时数据块”或“背景数据块”,简称DI)支持的常用逻辑块。
FB块与FC块的作用基本相同,但FB中除可以使用“地址”或“符号地址”进行编程外,在结构化编程时必须使用“程序变量”进行编程,因此,FB必须配套的、独立的数据存储区域——“即时数据块DI”。DI -方面可以为调用FB提供执行程序所需要的“程序变量”赋值与其他数据,另一方面,功能块FB也能通过DI给调用它的逻辑块返回所需要的数据。
与功能调用块FC -样,功能块FB中也有部分为PLC生产厂家所提供的、集成在S7 CPU操作系统中的功能块,称为系统功能块(System Function Blocks,简称SFB)。系统功能块SFB同样属于PLC内部操作系统的一部分,用户不需要编写,也不可以对其进行编辑,但可以根据需要直接调用。
(4)数据块(DB)
数据块(Data Blocks,简称DB)是用来存放执行用户程序时所需的数据与存储程序执行结果的数据存储区,其作用与标志寄存器类似,但数量更多。数据块DB按不同的用途可以分为即时数据块(Instance DataBlocks,又称背景数据块,简称DI)和通用数据块(Data Blocks,又称共享数据块,简称DB)两类。
即时数据块( DI)用于传递功能块的参数,只能被的功能块FB访问。调用功能块FB时,必须同时用于该功能块的即时数据块DI,即时数据块内的数据可以自动生成,它们可以是FB变量声明表中的数据(不含临时变量)。
通用数据块(DB)用于存储PLC的全局数据,所有的FB、FC或OB都可以对通用数据块进行读写操作,因此,又被称为共享数据块。通用数据块内的数据不会因用户程序的结束而删除。
在现代化的工业生产设备中,有大量的数字量及模拟量的控制装置,例如电机的启停,电磁阀的开闭,产品的计数,温度、压力、流量的设定与控制等,而PLC技术是解决上述问题的有效、便捷的工具,因此PLC在工业控制领域得到了广泛的应用。下面就PLC控制系统设计中的问题进行探讨。
1、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 控制系统设计包括硬件设计和软件设计。
硬件设计是PLC控制系统的至关重要的一个环节,这关系着PLC控制系统运行的可靠性、安全性、稳定性。主要包括输入和输出电路两部分。
(1) PLC控制系统的输入电路设计。PLC供电电源一般为AC85—240V,适应电源范围较宽,但为了抗干扰,应加装电源净化元件(如电源滤波器、1:1隔离变压器等);隔离变压器也可以采用双隔离技术,即变压器的初、次级线圈屏蔽层与初级电气中性点接大地,次级线圈屏蔽层接PLC 输入电路的地,以减小高低频脉冲干扰。
PLC输入电路电源一般应采用DC 24V, 同时其带负载时要注意容量,并作好防短路措施,这对系统供电安全和PLC安全至关重要,因为该电源的过载或短路都将影响PLC的运行,一般选用电源的容量为输入电路功率的两倍,PLC输入电路电源支路加装适宜的熔丝,防止短路。
(2) PLC控制系统的输出电路设计。依据生产工艺要求,各种指示灯、变频器/数字直流调速器的启动停止应采用晶体管输出,它适应于高频动作,并且响应时间短;如果PLC 系统输出频率为每分钟6 次以下,应继电器输出,采用这种方法,输出电路的设计简单,抗干扰和带负载能力强。
如果PLC输出带电磁线圈等感性负载,负载断电时会对PLC的输出造成浪涌电流的冲击,为此,对直流感性负载应在其旁边并接续流二极管,对交流感性负载应并接浪涌吸收电路,可有效保护PLC。
浙江西门子G120变频器(核心)代理商欢迎您