特殊指令如表4-27所示。plc中一些实现特殊功能的硬件需要通过特殊指令来使用,可实现特定的复杂的控制目的,同时程序的编制非常简单。
表特殊指令
名称 |
指令格式
(语句表) |
功能 |
操作数 |
中断指令 |
ATCH INT,EVNT |
把一个中断事件(EVNT)和一个中断程序联系起来,并允许该中断事件 |
INT:常数
EVNT:常数(CPU221/222:0~12,19~23,27~33;CPU224:0~23,27~33;CPU226:0~33) |
DTCH EVNT |
截断一个中断事件和所有中断程序的联系,并禁止该中断事件 |
ENI |
全局地允许所有被连接的中断事件 |
无 |
DISI |
全局地关闭所有被连接的中断事件 |
CRETI |
根据逻辑操作的条件从中断程序中返回 |
RETI |
位于中断程序结束,是必选部分,程序编译时软件自动在程序结尾加入该指令 |
通信指令 |
NETR TBL,PORT |
初始化通讯操作,通过指令端口(PORT)从远程设备上接收数据并形成表(TBL)。可以从远程站点读最多16个字节的信息 |
TBL:VB,MB,*VD,*AC,*LD
PORT:常数 |
NETW TBL,PORT |
初始化通讯操作,通过指定端口(PORT)向远程设备写表(TBL)中的数据,可以向远程站点写最多16个字节的信息 |
XMT TBL,PORT |
用于自由端口模式。指定激活发送数据缓冲区(TBL)中的数据,数据缓冲区的第一个数据指明了要发送的字节数,PORT指定用于发送的端口 |
TBL:VB,IB,QB,MB,SB,SMB,*VD,*AC,*LD
PORT:常数(CPU221/222/224为0;CPU226为0或1) |
RCV TBL,PORT |
激活初始化或结束接收信息的服务。通过指定端口(PORT)接收的信息存储于数据缓冲区(TBL),数据缓冲区的第一个数据指明了接收的字节数 |
GPA ADDR,PORT |
读取PORT指定的CPU口的站地址,将数值放入ADDR指定的地址中 |
ADDR:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
在SPA指令中ADDR还可以是常数
PORT:常数 |
SPA ADDR,PORT |
将CPU口的站地址(PORT)设置为ADDR指定的数值 |
时钟指令 |
TODR T |
读当前时间和日期并把它装入一个8字节的缓冲区(起始地址为T) |
T:VB,IB,QB,MB,SB,SMB,LB,*VD,*AC,*LD |
TODW T |
将包含当前时间和日期的一个8字节的缓冲区(起始地址是T)装入时钟 |
高速计数器指令 |
HDEF HSC,MODE |
为指定的高速计数器分配一种工作模式。每个高速计数器使用之前必须使用HDEF指令,且只能使用一次 |
HSC:常数(0~5)
MODE:常数(0~11) |
HSC N |
根据高速计数器特殊存储器位的状态,按照HDEF指令指定的工作模式,设置和控制高速计数器。N指定了高速计数器号 |
N:常数(0~5) |
高速脉冲输出指令 |
PLS Q |
检测用户程序设置的特殊存储器位,激活由控制位定义的脉冲操作,从Q0.0或Q0.1输出高速脉冲
可用于激活高速脉冲串输出(PTO)或宽度可调脉冲输出(PWM) |
Q:常数(0或1) |
PID回路指令 |
PID TBL,LOOP |
运用回路表中的输入和组态信息,进行PID运算。要执行该指令,逻辑堆栈顶(TOS)必须为ON状态。TBL指定回路表的起始地址,LOOP指定控制回路号
回路表包含9个用来控制和监视PID运算的参数:过程变量当前值(PV n ),过程变量前值(PV n-1 ),给定值(SP n ),输出值(M n ),增益(Kc),采样时间(Ts),积分时间(Ti),微分时间(Td)和积分项前值(MX)
为使PID计算是以所要求的采样时间进行,应在定时中断执行中断服务程序或在由定时器控制的主程序中完成,其中定时时间必须填入回路表中,以作为PID指令的一个输入参数 |
TBL:VB
LOOP:常数(0到7 | |