1、PLC功能指令的基本要素
1.1 功能指令的表示形式
要学习应用指令,首先要掌握指令的表达形式。和基本指令不同,功能指令不含表达梯形图符号问相互关系的成分,而是直接表达指令要做什么,在梯形图中用功能框表示。功能框中分栏表示指令的名称、相关数据或数据的存储地址。功能指令用编号FNC00~FNC294表示,并给出对应的助记符(大多用英文名称或缩写表)。
有的功能指令没有操作数,而大多数功能指令有1个~4个操作数。[s]表示源操作数,[D]表示目标操作数,如果使用变址功能,则可表示为[s·]和[D·]。当源或目标不止一个时,用IS1·]、[S2·]、[D1·]、I-D2·]表示。用和/T/表示其他操作数,它们常用来表示常数K和H,或作为源和目标操作数的补充说明,当这样的操作数多时可用1、n2、ml、m2等来表示。
1.2 功能指令的执行方式与数据长度
1.2.1 功能指令的执行方式
功能指令有连续执行和脉冲执行两种类型。指令助记符后面有“P”表示脉冲执行,即该指令仅在执行条件接通(由OFF到ON)时执行一次;如果没有“P”则表示连续执行,即在执行条件接通(ON)的每一个扫描周期该指令都要被执行。
1.2.2 功能指令的数据长度
功能指令可处理16位数据或32位数据。处理32位数据的指令是在助记符前加“D”标志,无此标志即为处理16位数据的指令。
1.2.3 功能指令的数据格式
(1)位元件与字元件:由于功能指令的引入,需处理大量的数据信息,则要设置用于存储数值数据的软元件,每种软元件存储的数据和使用特征不同,以满足各种指令的操作数要求。X、Y、M、S等只处理ON/OFF信息的软元件称为位元件;而T、C、D等处理数值的软元件则称为字元件,一个字元件由16位二进制数组成。
(2)数据格式:在FX系列PIC内部,数据是以二进制(BIN)补码的形式存储,所有的四则运算都使用二进制数。二进制补码的最高位为符号位,正数的符号位为O,负数的符号位为1。FX系列PIC可实现二进制码与BCD码的相互转换。为更精确地进行运算,可采用浮点数运算。在FX系列PIC中提供了二进制浮点运算和十进制浮点运算,设有将二进制浮点数与十进制浮点数相互转换的指令。二进制浮点数采用编号连续的一对数据寄存器表示,如在D11和D10组成的32位寄存器中,D10的16位加上D11的7位共23位,为浮点数的尾数。十进制的浮点数也用一对数据寄存器表示,编号小的数据寄存器为尾数段,编号大的为指数段,如使用数据寄存器(D1,DO)时,表示为:
十进制浮点数=:=(尾数DO)×10[指数m。
其中:DO、D1的最高位是正、负符号位。
2、功能指令的应用技巧
2.1进行功能指令归类和使用场合的区分
FX2系列PIc具有丰富的功能指令,包括程序流向控制、传送与比较、算术与逻辑运算、循环与移位等19类功能指令。指令的类型不同,使用的场合也不同。合理安排程序的结构,有效提高程序的功能,实现某些技巧性运算,达到控制要求,都具有重要的意义。
2.2深入功能指令内部找出各元件的状态分配和等效电路
功能指令综合性比较强,一条指令即能实现以往需要大段程序才能完成的某种任务,如PID功能、表功能等,这类指令实际上就是一个个功能完整的子程序。所以有些功能指令内部电路比较复杂,某些指令一旦执行,功能指令内相关元件自动受控,相关状态与存储器自动分配,甚至相关辅助继电器与元件内部具有自动等效电路。
2.3在实践中深化理解灵活运用
任何一种指令的学习与掌握都离不开实践。先学别人的经验与成果,以例题为模板进行嫁接,为己所用,从而成为自己的知识。程序编制仅仅是开始,还需反复调试,直到解决所有可能出现的实际问题。此外,有些指令存在工程上的一些习惯用法,只有在实践中不断摸索,才能灵活运用。
3、IST初始化状态功能指令的应用实例
3.1 IST初始化状态指令及使用要素
IST初始化状态指令(便利指令的一种)是自动控制步进顺控中的状态初始化,指令形式见图1。

图1中,[S]是源操作数,为运行模式的初始输入;ED1]是目标操作数1,为自动模式中的实用状态的最小号码;[D2]是目标操作数2,为自动模式中实用状态的最大号码,即指定操作方式输入的首元件。IST指令一旦如上所设,则相关元件自动设置如下:
X2O:手动;
X21:回原点;
X22:单步;
X23:单周期;
X24:全自动运行;
X25:回原点启动;
X26:自动操作;
X27:停止。
[s1][D1][D2]必须具有连续编号的输入点,如果无法使指令连续编号,则要用辅助继电器(M)重新安排输入编号。
3.2 IST初始状态指令和初始状态动作
指令执行条件变为ON后,下列元件自动受控;其后若执行条件变为OFF,这些元件的状态仍保持不变。
M8040:禁止转移;
M8041:传输开始;
M8042:起始脉冲;
M8043:STI监控使能;
SO:手动操作初始状态;
S1:回原点初始状态;
S2:自动操作初始状态。
指令执行时初始状态动作流程见图2。

IST初始状态指令一旦设置好操作数,当执行条件满足时,则指令自动动作,各相关状态元件和特殊辅助继电器自动受控。M8047为ON,状态S0--$899中正在动作的状态号从最低号开始顺序存人特殊寄存器D8040~D8047,最多可存8个状态号,M8040禁止转移,手动状态下M8040总是接通。
(1)回原点,单周期运行:按动停止按钮后一直到按动启动按钮期间,M8040一直为ON状态。
(2)单步执行:M8040常通,但是在按动启动按钮时变为OFF状态,可以顺序转移一步。PIC在STOP-+RUN切换时M8040保持接通,按启动按钮后M8040断开,转移开始,M8041是从初始状态S2向另一状态转移的转移条件辅助继电器。
(3)步进,单周期:仅在按启动按钮时动作。
(4)自动:按启动按钮后保持ON,按停止按钮后为OFF。
M8040~M8042、M8047的动作内容等效电路见图3。
