FP1型PLC除具有以上高级指令外,还包括一些能完成某些特定功能的指令,如进位标志位的置位、清零、串行通信、并行打印输出、自诊断错误代码设定、信息显示的处理等,见表7-48。
表7-48 特殊指令及操作数
(续)
注:∗以M开始的字符常数。
1.F137(STMR)
F137(STMR)是辅助定时器指令,工作时以0.01s为单位进行定时(定时范围0.01~327.67s),可作为普通定时器的补充。一般的PLC定时器都是以0.1s为单位进行定时,若有分辨率更高的定时控制要求,通常就采用辅助定时器来实现,在FP1的PLC中可用TMR来代替。其功能是经过设定值×0.01s后,将特殊内部继电器R900D置为1(ON)。
例7-39 辅助定时器指令举例,如图7-60所示。
例题说明:当触发信号X0接通10s时,R900D被置为1(ON)。若在定时过程中或定时时间到时触发信号X0断开,当前值存储单元DT0被复位为0,R900D被复位为0(OFF)。
图7-60 辅助定时器指令举例
2.时间变换指令:F138(HMSS)、F139(SHMS)
FP1-C24以上机型均有日历及实时时钟功能。使用手持编程器或编程软件将年、月、日、时、分、秒、星期等的初值设置到特殊数据寄存器DT9054~DT9057中,即可实现自动计时,即使断电后,计时也不会间断。校表时,采用舍入法,DT9058是30s校表寄存器,当DT9058置入“1”时,若秒位显示小于30s则舍去,若大于30s,则分位加“1”。
1)F138(HMSS)
F138(HMSS)时间变换指令。其功能是将以时/分/秒(h/m/s)格式表示的时间数据,变换成以秒(s)为单位的时间数据。将(S+1,S)中存放的时/分/秒数据转换为秒数据,结果存放于寄存器(D+1,D)中。在这里,S和D中的数据均用BCD码表示。
2)F139(SHMS)
F139(SHMS)时间变换指令。其功能是将以秒为单位的时间数据,变换成以时/分/秒格式表示的时间数据。功能与F138完全相反。
3.进位位(CY)的置位和复位指令:F140(STC)、F141(CLC)
F140(STC)和F141(CLC)指令是FP1高级指令中仅有的两条无操作数的指令,其功能是将特殊内部继电器R9009(进位标志位)置位和复位,即将R9009置为1或者清0。
4.刷新部分I/O指令:F143(IORF)
PLC在循环扫描的工作过程中,只有在输入扫描和输出刷新阶段才进行I/O刷新,在执行程序时不处理I/O刷新任务。利用I/O刷新指令F143(IORF),即使在执行程序阶段,也可将指定的输入/输出继电器立即刷新,实现无滞后(由扫描时间造成的)地刷新输入或输出。
当触发信号X0接通时,D1和D2指定的WY0~WY1被立即刷新,避免由扫描时间造成的延时。使用时要保证D1和D2是同一类型的操作数,并且D1≤D2。(www.xing528.com)
5.串行数据通信指令:F144(TRNS)
F144(TRNS)的功能是通过RS-232串行口与外设通信,将以S为起始地址的n个字节的数据寄存器中的数据从串行通信口发送或接收。一般型号末端带“C”的PLC带有RS-232串行口。
其中,寄存器S为发送或接收数据的寄存器区首地址,且S只能使用数据寄存器DT。、S用作发送或接收监视之用,之后的、S+1,S+2,…存放着发送或接收的数据。也就是说,S+l为发送和接收数据的首地址,数据存放在S+l及以后的寄存器中。n则用来设定要发送的字节数。
1)数据发送:特殊内部继电器R9039是发送标志继电器,发送过程中R9039为OFF状态,发送结束后,其为ON状态。其间,S用来监控将要发送的字节数,从S十1开始存放要发送的数据,n用来设定要发送的字节数。当执行指令时,首先将n装入S中,每发送一个字节,S寄存器的内容减1,直至S的内容为0,发送完毕。
2)数据接收:特殊内部继电器R9038是接收标志继电器,接收过程中R9038为OFF状态,接收结束后,其为ON状态。其间,从外设传来的数据存放在接收缓冲区第二个字开始的区域中,即从S+l开始的寄存器中。接收缓冲区的第一个字,即S,用来监控接收到的字节数,缓冲区由系统寄存器No.417和No.418指定。例如No.417=K200,No.418=K4,则表示从外设接收的8个字节(4个字)的数据存放于数据寄存器DT201开始的区域中,DT200用于记录接收到的字节数。此时,操作数S无实际意义,n应设置成0。当执行指令时,先将0装入缓冲区第一个寄存器中,每接收一个字节,该寄存器的内容加1,当接收到由系统寄存器No.413指定的结束符后,数据接收完毕。S中的数据即是接收到的字节数。
在使用F144指令进行数据传送时,需要对系统寄存器No.412~No.418进行设置,此外还要对一些有关参数,如波特率等进行设置,详情请参阅FP1可编程序控制器的技术手册。
进行串行通信操作时,一般要配合数据传输指令。如典型的传送操作,先用FO(MV)指令将被传送的数据写到从S+l开始的区域,然后用F144(TRNS)指令将数据传到外设。而S中则由系统动态保存为尚未传出的数据个数。
6.并行打印输出指令:F147(PR)
F147(PR)的功能是将从S开始的6个存储单元中的12个ASCII码数字符输出到由D指定的WY中,本指令只适用于C24以上晶体管输出型的PLC具有并行打印输出功能。
在具体应用中,打印机的控制码必须设置为被打印数据的最后一个字,ASCII字符从低地址开始顺序输出。若输出的数据不是ASCII形式,可采用相应的数据转换指令将其从二进制、BCD码、十六进制或字符常数转换成ASCII形式。ASCII字符为8位二进制,对应由Y0~Y7输出,加上打印机的一位选通信号(由Y8自动发出打印脉冲),只需占用一个字单元中的9个输出继电器,其余的不用。
在一个扫描周期内不能同时执行几个F174指令,因此将特殊内部继电器R9033设为打印输出控制继电器,打印开始自动变为ON,打印结束自动变为OFF。
7.自诊断错误设置指令:F148(ERR)
F148(ERR)的功能是将某特殊状态设置为自诊断错误类型,存放到DT9000中,将R9000置为1(ON),并使出错指示灯(ERROR LED)闪烁;或者将由自诊断错误E45、E50或E200~E299引起的错误状态复位。F148指令的运行由n决定,n为自诊断错误代码,设置范围为0和100~299。
n=0:清除由自诊断错误E45、E50或E200~E299引起的错误状态;
n=100~299:将指令的触发信号设置为第n号自诊断错误。具体内容请参见技术手册的错误代码表。
8.信息显示指令:F149(MSG)
F149(MSG)的功能是将S指定的字符常数(以M开始的字符串)显示在FP编程器II的屏幕上。
9.时间运算指令:F157(CADD)、F158(CSUB)
(1)F157(CADD)
F157(CADD)的功能是在(S1+2,S1+1,S1)指定的日期(年、月、日)和时间(时、分、秒)数据中加上(S2+1,S2)指定的时间数据,所得的结果(年、月、日、时、分、秒)存放在(D+2,D+1,D)中,日期、时间数据均用BCD码表示。
(2)F158(CSUB)
F158(CSUB)的功能同F157(CADD)类似,只是相加变为相减运算,具体用法请参见技术手册。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。