西门子佛山授权代理商
和利时PLC
在工厂自动化和机器自动化领域,和利时从2003年开始,先后推出自主开发的LM小型PLC、LK大型PLC、MC系列运动控制器,产品通过了CE认证和UL认证。其中LK大型PLC是国内唯一具有自主知识产权的大型PLC,并获得国家四部委联合颁发的“国家重点新产品”证书。和利时的PLC和运动控制产品已经广泛应用于地铁、矿井、油田、水处理、机器装备控制行业。
在国内的PLC市场,和利时无论在产品的系列宽广度,还是品牌影响力、行业应用经验还依然处在劣势地位。为此,从一开始和利时就制定了“农村包围城市”的战略。,和利时找到大公司的业务盲点,能让和利时公司PLC的业务量迅速上升,同时也可以检验PLC的性能。
和利时不仅为客户提供PLC产品,同时还提供运动控制器、人机界面、变频器、电机及驱动等系列产品和机器控制的一体化方案,更为客户提供售前的方案配置、系统优化、售中的技术咨询、编程指导、系统成套,售后的产品维修、备件提供的全方位的服务,并真正的做到为客户“量体裁衣”。
安控PLC
在专用于远程测控的产品RTU取得成功之后,2004年,安控的RockE系列PLC问世。从RTU到PLC,一如从石油天然气到众多行业和领域,对于安控而言,这是一种发展思路,从点到线,再从线到面,可谓水到渠成。安控拥有RTU的开发基础和项目经验,PLC的研发和生产似乎早已不是问题。
安控科技将多项通信技术引入到RockE40系列PLC产品中,使得其通信能力较一般PLC相比得到了大大提高。RockE40系列PLC产品可提供多种通信接口,如:网络、RS232、RS485、拨号、无线电台等,配接相应的通信设备,可以实现以上所提到的各种通信方式。由于提供了通信扩展模块,在理论上通信接口的数量也没有限制。
除通信接口外RockE40系列PLC产品还支持多种标准通信协议,如:如ModbusRTU、ModbusASCII、ModbusTCP、DNP3等。由于RockE40支持C、C++编程,因此用户也可方便地实现自定义通信协议,或由我公司提供定制的通信协议。
目前,安控PLC产品已经广泛地应用于城市供水及水处理自动化控制,热力网络管道自动化控制,通用工业数据采集与过程控制,热水锅炉、工业蒸汽锅炉监控,明渠、水闸及水位的检测控制,大气环境和水质监测,电力系统参数遥测遥控等诸多领域
永宏PLC
永宏PLC是永宏电机股份有限公司的PLC产品,永宏电机股份有限公司1992年由一群从事PLC设计开发工作多年的工程师创立于台湾。永宏专注在高功能的中小型及微型PLC市场领域,创立的自有品牌"FATEK"目前在业界已享有颇高的度。
近年来,面对许多大厂的竞争,以及客户端应用的变化,单单只提供PLC产品已无法满足市场需求,另一方面,永宏在微型PLC的市场已占了相当的经济规模了,若要高度成长已非易事,因此,除了PLC的产品外,提供更完整的工业自动化解决方案,是当今永宏需面对的课题。
目前具体的发展方向仍先以研发更高功能的PLC来稳固核心竞争力外,同时更积极发运动控制器、人机接口、工业用电源供应器、伺服控制器、变频器及伺服马达。
台达PLC
台达PLC是台达集团为工业自动化领域专门设计的、实现数字运算操作的电子装置。台达PLC采用可以编制程序的存储器,用来在其内部存储执行逻辑运算、顺序运算、计时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。
台达PLC以高速、稳健、高可靠度而著称,广泛应用于各种工业自动化机械。台达PLC除了具有快速执行程序运算、丰富指令集、多元扩展功能卡及高性价比等特色外,并且支持多种通讯协议,使工业自动控制系统联成一个整体。
台达PLC品种齐全的各种硬件装置,可以组成能满足各种要求的控制系统,用户不必自己再设计和制作硬件装置。用户在硬件确定以后,在生产工艺流程改变或生产设备更新的情况下,不必改变PLC的硬设备,只需改编程序就可以满足要求。因此,PLC除应用于单机控制外,在工厂自动化中也被大量采用。
程序控制类指令使程序结构灵活,合理使用该指令可以优化程序结构,增强程序功能。这类指令主要包括:结束、停止、看门狗、跳转、子程序、循环和顺序控制等指令。
1、结束指令END
结束指令分为有条件结束指令(END)和无条件结束指令(MEND)。两条指令在梯形图中以线圈形式编程。指令不含操作数。执行结束指令后,系统终止当前扫描周期,返回主程序起点。使用说明:
(1)结束指令只能用在主程序中,不能在子程序和中断程序中使用。而有条件结束指令可用在无条件结束指令前结束主程序。
(2)在调试程序时,在程序的适当位置置入无条件结束指令可实现程序的分段调试。
(3)可以利用程序执行的结果状态、系统状态或外部设置切换条件来调用有条件结束指令,使程序结束。
(4)使用Micro/Win32编程时,编程人员不需手工输入无条件结束指令,该软件会自动在内部加上一条无条件结束指令到主程序的结尾。
2、停止指令STOP
STOP指令有效时,可以使主机CPU的工作方式由RUN切换到STOP,从而立即中止用户程序的执行。STOP指令在梯形图中以线圈形式编程。指令不含操作数。
STOP指令可以用在主程序、子程序和中断程序中。如果在中断程序中执行STOP指令,则中断处理立即中止,并忽略所有挂起的中断。继续扫描程序的剩余部分,在本次扫描周期结束后,完成将主机从RUN到STOP的切换。
STOP和END指令通常在程序中用来对突发紧急事件进行处理,以避免实际生产中的意外损失。
3、看门狗复位指令WDR(Watchdog Reset)
WDR称为看门狗复位指令,也称为警戒时钟刷新指令。它可以把警戒时钟刷新,即延长扫描周期,从而有效地避免看门狗超时错误。WDR指令在梯形图中以线圈形式编程,无操作数。
使用WDR指令时要特别小心,如果因为使用WRD指令而使扫描时间拖得过长(如在循 环结构中使用WDR),那么在中止本次扫描前,下列操作过程将被禁止:
(1)通讯(自由口除外);
(2)I/O刷新(直接I/O除外);
(3)强制刷新;
(4)SM位刷新(SM0、SM5一SM29的位不能被刷新);
(5)运行时间诊断;
(6)扫描时间超过25 s时,使10 ms和100 ms定时器不能正确计时;
(7)中断程序中的STOP指令。
注意:如果希望扫描周期超过300ms,或者希望中断时间超过300ms,则好用WDR指令来重新触发看门狗定时器。结束指令、停止指令和WDR指令的用法如图1所示。
图1 结束、停止及看门狗指令
4、跳转及标号指令
跳转指令可以使plc编程的灵活性大大提高,可根据对不同条件的判断,选择不同的程序段执行程序。
跳转指令JMP(Jump to Label):当输入端有效时,使程序跳转到标号处执行。
标号指令LBL(Label):指令跳转的目标标号。操作数n为0—255。
使用说明:
(1)跳转指令和标号指令必须配合使用,而且只能使用在同一程序段中,如主程序、同一个子程序或同一个中断程序。不能在不同的程序段中互相跳转。
(2)执行跳转后,被跳过程序段中的各元器件的状态:
①Q、M、S、C等元器件的位保持跳转前的状态;
②计数器C停止计数,当前值存储器保持跳转前的计数值;
③对定时器来说,因刷新方式不同而工作状态不同。在跳转期间,分辩率为1 ms和10 ms的定时器会一直保持跳转前的工作状态,原来工作的继续工作,到设定值后其位的状态也会改变,输出触点动作,其当前值存储器一直累计到大值32 767才停止。对分辨率为100 ms的定时器来说,跳转期间停止工作,但不会复位,存储器里的值为跳转时的值,跳转结束后,若输入条件允许,可继续计时,但已失去了准确计时的意义。所以在跳转段里的定时器要慎用。跳转指令的使用方法如图2所示。
图2 跳转指令
5、循环指令(FOR和NEXT)
循环指令的引入为解决重复执行相同功能的程序段提供了极大方便,并且优化了程序结构。循环指令有两条:循环开始指令FOR,用来标记循环体的开始,用指令盒表示。循环结束指令NEXT,用来标记循环体的结束。无操作数。
FOR和NEXT之间的程序段称为循环体,每执行一次循环体,当前计数值增1,并且将其结果同终值作比较,如果大于终值,则终止循环。
循环开始指令盒中有三个数据输入端:当前循环计数INDX(index value or current loop count)、循环初值INIT(starting value)和循环终值FINAL(ending value)。在使用时必须给FOR指令指定当前循环计数(INDX)、初值(INIT)和终值(FINAL)。
INDX操作数:VW、IW、QW、MW、SW、SMW、LW、T、c、AC、*VD、*AC和*CD;属INT型。
INIT和FINAI。操作数:VW、IW、QW、MW、SW、SMW、LW、T、C、AC、常数、*VD、* AC和*CD;属INT型。
循环指令使用如图3所示。当I1.0接通时,表示为A的外层循环执行100次。当I1.1接通时,表示为B的内层循环执行2次。使用说明:
(1)FOR、NEXT指令必须成对使用。
(2)FOR和NEXT可以循环嵌套,嵌套多为8层,但各个嵌套之间不可有交叉现象。
(3)每次使能输入(EN)重新有效时,指令将自动复位各参数。
(4)初值大于终值时,循环体不被执行。
图4 循环指令
子程序
子程序在结构化程序设计中是一种方便有效的工具。S7—200 PLC的指令系统具有简单、方便、灵活的子程序调用功能。与子程序有关的操作有:建立子程序、子程序的调用和返回。
(1)建立子程序
建立子程序是通过编程软件来完成的。可用编程软件“编辑”菜单中的“插入”选项,选择“子程序”,以建立或插入一个新的子程序,同时,在指令树窗口可以看到新建的子程序图标,默认的程序名是SBR_N,编号N从0开始按递增顺序生成,也可以在图标上直接更改子程序的程序名,把它变为更能描述该子程序功能的名字。在指令树窗口双击子程序的图标就可进入子程序,并对它进行编辑。
(2)子程序调用指令CALL和子程序条件返回指令CRET
在子程序调用指令CALL使能输入有效时,主程序把程序控制权交给子程序。子程序的调用可以带参数,可以不带参数。它在梯形图中以指令盒的形式编程。
在子程序条件返回指令CRET使能输入有效时,结束子程序的执行,返回主程序中(此子程序调用的下一条指令)。梯形图中以线圈的形式编程,指令不带参数。
(3)应用举例
图7.37所示的程序实现用外部控制条件分别调用两个子程序。使用说明:
①CRET多用于子程序的内部,由判断条件决定是否结束子程序调用,RET用于子程序的结束。用Micro/Win32编程时,编程人员不需要手工输入RET指令,而是由软件自动加在每个子程序结尾。
②子程序嵌套 如果在子程序的内部又对另一子程序执行调用指令,则这种调用称为子程序的嵌套。子程序的嵌套深度多为8级。
③当一个子程序被调用时,系统自动保存当前的堆栈数据,并把栈顶置1,堆栈中的其他值为o,子程序占有控制权。子程序执行结束,通过返回指令自动恢复原来的逻辑堆栈值,调用程序又重新取得控制权。
④累加器可在调用程序和被调用子程序之间自由传递,所以累加器的值在子程序调用时既不保存也不恢复。
图7.38 子程序调用指令