1771-OAD 使用数据转换指令时,一定要注意数据的范围,数据范围大的转换为数据范围小的发注意不要超过范围。如下图所示为数据的大小及其范围。
[NextPage]
(1)BCD码转化为整数(BCD_I)
BCD码转化为整数,我是这样理解的:把BCD码的数值看成为十进制数,然后把BCD到整数的转化看成是十进制数到十六进制数的转化。如下图所示,BCD码为54,转化为整数后为36。
整数转化为BCD码(I_BCD)则正好相反,看成是十六进制到十进制的转化。
(2)整数转化为双整数(I_DI)
此问题需要注意的是:整数转化为双整数后,符号位被扩展,因为整数的精度小于双整数的精度,转化后,双整数除了表示整数的数值所占的位外,其余空位用符号位填充。如整数45转化为双整数后,基二进制表示为:2#0000_0000_0000_0000_0000_0000_0010_1101,而整数-45转化为双整数后则为:2#1111_1111_1111_1111_1111_1111_1101_0011。
五、避免重复使用PLC输出线圈
基本逻辑指令中常开接点和常闭接点,作为使能的条件,在语法上和实际编程中都可以无限次的重复使用。
PLC输出线圈,作为驱动元件,在语法上是可以无限次的使用。但在实际编程中是不应该的,应该避免使用的。因为,在重复使用的输出线圈中只有程序中**后一个是有效的,其它都是无效的。输出线圈具有**后优先权。
如图1和2所示。
[NextPage]
图1:输出线路未重复使用 图2:输出线路未重复使用
图1所示,输出线圈Q0.0是单一使用,表示I0.0和I0.1两个常开接点中任何一个闭合,输出线圈都得电输出。
图2所示,输出线圈Q0.0是重复使用,在网络1和网络2中重复使用两次,目的和图1所示一样,要求I0.0和I0.1两个常开接点中任何一个闭合,输出线圈得电输出。
首先需要肯定是图2所示的程序在语法上是完全正确的。但是,Q0.0重复使用的输出线圈中,真正有效的是网络2,网络1是多余的、无效的。也就是说,I0.0无论是闭合还是断开,都对Q0.0不起作用,Q0.0是否得电是由I0.1决定的。
这是因为PLC在一个扫描周期中,PLC输出点的刷新是在程序执行完毕后执行的,在一个扫描周期中,即使I0.0闭合,I0.1断开,在PLC程序执行网络1时,输出点Q0.0映像存储器为1,在执行网络2时,输出点Q0.0映像存储器又变为0。程序执行完毕,PLC输出点才执行刷新,**终输出点Q0.0失电不输出。同理,在一个扫描周期中,I0.0断开,I0.1闭合,输出点Q0.0映像存储器**终为1,在PLC输出点执行刷新时,输出点得电输出。因此,图2所示的程序中,对Q0.0起作用的只是I0.1。
因此,在PLC编程时,重复使用数出线圈。尽管在语法上是正确的,但是应该避免使用的。
六、合理组织编写梯形图的结构
在编写梯形图时,宜将串联的回路写在上方,并联的回路写在左边。如图所示:
[NextPage]
采用右边的形式,可以减少PLC的扫描时间,可以让PLC拿更多的时间来处理输入、输出和通讯部分程序。这是因为,虽然是梯形图,PLC**终还是把梯形图转化为指令语句来执行,而右边的梯形图转化为语句后,显然比左边的要简化的多,这样就可以减少PLC的扫描时间。在比较大的程序中这点儿尤其显得突出。
七、合理使用指令减少PLC扫描时间
PLC每种指令的执行时间是一定的,在编程时,一定要注意不要人为造成PLC的扫描时间加大。如下图所示:
当I0.0闭合时,网络1的执行时间是0.37μs+55μs=55.27μs,而网络2当I0.0未动作时,执行时间是0.37μs。因此,当I0.0保持闭合的过程中,程序会反复执行网络1加法语句,会大大加长PLC的扫描时间。这时可以采用网络2的形式,仅在上升沿或下降沿时执行该加法语句,可以有降低PLC的扫描时间。
八、尽量避免形参不同时,多次调用同一子程序
[NextPage]
在程序中,多次调用同一个子程序,在语法方面没有什么错误,但我们要尽量避免这一做法,尤其是在带有形式参数时。下面通过一例来说明。如下图1所示,网络13和14都调用protection子程序,这时,网络14调用时protection子程序的运行状态如图2所示。我们注意到,网络14调用时的形参#protection的数值(1169,网络13调用该子程序时的参数值)并不是网络14调用protection子程序所要的数值(应是481)。这样,就会造成我们所不希望的结果。
CABLE FLEX 80 POSITION 16"
CABLE FLEX 80 POSITION 22"
CABLE IMAGE DATA 1A PLLAD 730-679835-00
CABLE IMAGE DATA 1B PLLAD 730-679836-00
CABLE IMAGE DATA 2A PLLAD 730-679837-00
CABLE IMAGE DATA 2B PLLAD 730-679838-00
CABLE IMAGE DATA 3A PLLAD 730-679839-00
CABLE IMAGE DATA 3B PLLAD 730-679840-00
CABLE IMAGE DATA OB PLLAD 730-679834-00
CABLE IMAGE DATA OA PLLAD
COMPUTER KLA-2135NT
END EFFECTOR
FILTER ASSY 655-680524-000 REV AC 655-680525-000 REV AA
FILTER HOUSE ASSY WITH MOTOR MOTOR 740-651222-00 REV A3 FILTER 655-668086-00 REV AO
FLOW VALVE POWER AMP ASSY 710-678272-00
IMAGE COMPUTER POWER SUPPLY 600 AMP M3001-1E/CMP 281M
KLA DD ASSY 710-650044-20
KLA DF ASSY 710-678525-00
KLA DP ASSY 710-679375-001
KLA FFA ASSY 710-678890-00
KLA MSC3 ASSY 710-660800-00
KLA OPTICS INT. ASSY 710-651090-20
KLA PULSE SENSOR PREAMP ASSY 710-657068-20
KLA ROBOT PCB 710-664601-000
KLA S.A.T. RANDOM DEFECT FILTER 710-661726-00
KLA S.A.T. Random Defect Processor 710-663424-000
KLA TENCOR AUTOFOCUS COLLIMATING LENS 2135/ 2132 LOADER WITH MOTOR ASSY 655-650219-00
KLA TENCOR LAMP POWER SUPPLY CONTROLLER IGNITOR ORIEL 68868
KLA VIF 710-658807-00
KLA XYI ASSY 710-658909-001
LAMP HOUSE 655-659198-00
LENS BLOCK 655-658899-00
LINEAR ACTUATOR ASSY 655-652673-00
LINEAR ACTUATOR ASSY 655-656156-00
MASS MEMORY 2 710-658956-00
PLLAD ASSY 740-695511-000