首页 > AI 讲工控 > 文章内容

西门子编程指令有那些

时间: 2024-11-15 07:12浏览量:159次

西门子PLC的编程指令丰富多样,涵盖了位逻辑、比较、转换、计数器、数据块、逻辑控制、整数算术运算、浮点算术运算、赋值、程序控制、移位和循环、状态位、定时器以及字逻辑等多个方面。以下是对这些指令的详细归纳:

一、位逻辑指令

  • 常开接点(地址):表示一个常开触点的状态。
  • 常闭接点(地址):表示一个常闭触点的状态。
  • XOR 位异或:对两个位进行异或运算。
  • 信号流反向:用于反转信号流的方向。
  • 输出线圈:用于表示输出状态。
  • 中间输出:在程序中作为中间状态的输出。
  • 线圈复位:将线圈状态复位。
  • 线圈置位:将线圈状态置位。
  • RS 复位置位触发器:RS触发器的一种,具有置位和复位功能。
  • RLO下降沿检测:检测RLO(结果逻辑或)的下降沿。
  • PLO上升沿检测:检测PLO(可能指某个特定逻辑结果的上升沿,但此处可能是一个笔误或特定上下文中的术语)的上升沿。
  • 将RLO存入BR存储器:将RLO的结果存入BR存储器中。
  • 地址下降沿检测地址上升沿检测:分别用于检测指定地址的下降沿和上升沿。

二、比较指令

  • 整数比较(CMP?I):比较两个整数的值。
  • 双整数比较(CMP?D):比较两个双整数的值。
  • 实数比较(CMP?R):比较两个实数的值。

三、转换指令

  • BCD码转换为整数(BCD_I):将BCD码转换为整数。
  • 整数转换为BCD码(I_BCD):将整数转换为BCD码。
  • 整数转换为双整数(I_DINT):将整数转换为双整数。
  • BCD码转换为双整数(BCD_DI):将BCD码转换为双整数。
  • 双整数转换为BCD码(DI_BCD):将双整数转换为BCD码。
  • 双整数转换为浮点数(DI_REAL):将双整数转换为浮点数。
  • 整数的二进制反码(INV_I):求整数的二进制反码。
  • 双整数的二进制反码(INV_DI):求双整数的二进制反码。
  • 整数的二进制补码(NEG_I):求整数的二进制补码。
  • 双整数的二进制补码(NEG_DI):求双整数的二进制补码。
  • 浮点数求反(NEG_R):求浮点数的相反数。
  • 舍入为双整数(ROUND):将数值舍入为双整数。
  • 舍去小数取整为双整数(TRUNC):舍去小数部分,取整为双整数。
  • 上取整(CEIL):向上取整。
  • 下取整(FLOOR):向下取整。

四、计数器指令

  • 加减计数(S_CUD):实现加减计数功能。
  • 加计数器(S_CU):实现加计数功能。
  • 减计数器(S_CD):实现减计数功能。
  • 计数器置初值(SC):设置计数器的初始值。
  • 加计数器线圈(CU):控制加计数器的线圈。
  • 减计数器线圈(CD):控制减计数器的线圈。

五、数据块指令

  • 打开数据块(OPN):用于打开指定的数据块(DB或DI)。

六、逻辑控制指令

  • 无条件跳转(JMP):无条件跳转到指定位置。
  • 条件跳转(JMP,此处可能指特定条件下的跳转指令,但通常应有不同标识以区分无条件跳转):在满足特定条件时跳转到指定位置。
  • 若非则跳转(JMPN):若条件不满足,则跳转到指定位置。
  • 标号(LABEL):用于标记程序中的特定位置。

七、整数算术运算指令

  • 整数加法(ADD_I):进行整数加法运算。
  • 整数减法(SUB_I):进行整数减法运算。
  • 整数乘法(MUL_I):进行整数乘法运算。
  • 整数除法(DIV_I):进行整数除法运算。
  • 双整数加法(ADD_DI):进行双整数加法运算。
  • 双整数减法(SUB_DI):进行双整数减法运算。
  • 双整数乘法(MUL_DI):进行双整数乘法运算。
  • 双整数除法(DIV_DI):进行双整数除法运算。
  • 回送余数的双整数(MOD_DI):进行双整数除法并返回余数。

八、浮点算术运算指令

  • 基础指令

    • 实数加法(ADD_R):进行实数加法运算。
    • 实数减法(SUB_R):进行实数减法运算。
    • 实数乘法(MUL_R):进行实数乘法运算。
    • 实数除法(DIV_R):进行实数除法运算。
    • 浮点数绝对值运算(ABS):求浮点数的绝对值。
  • 扩展指令

    • 浮点数平方(SQR):求浮点数的平方。
    • 浮点数平方根(SQRT):求浮点数的平方根。
    • 浮点数指数运算(EXP):进行浮点数的指数运算。
    • 浮点数自然对数运算(LN):求浮点数的自然对数。
    • 浮点数正弦运算(SIN):求浮点数的正弦值。
    • 浮点数余弦运算(COS):求浮点数的余弦值。
    • 浮点数正切运算(TAN):求浮点数的正切值。
    • 浮点数反正弦运算(ASIN):求浮点数的反正弦值。
    • 浮点数反余弦运算(ACOS):求浮点数的反余弦值。
    • 浮点数反正切运算(ATAN):求浮点数的反正切值。

九、赋值指令

  • 赋值(MOVE):将一个值赋给另一个变量或地址。

十、程序控制指令

  • 从线圈调用FC/SFC(无参数)(Call):从线圈调用功能块或功能。
  • 从方块调用FB(CALL_FB):从方块调用功能块。
  • 从方块调用FC(CALL_FC):从方块调用功能。
  • 从方块调用SFB(CALL_SFB):从方块调用系统功能块。
  • 从方块调用SFC(CALL_SFC):从方块调用系统功能。
  • 主控继电器接通(MCR<):接通主控继电器。
  • 主控继电器断开(MCR>):断开主控继电器。
  • 主控继电器启动(MCRA):启动主控继电器。
  • 主控继电器停止(MCRD):停止主控继电器。
  • 返回(RET):从子程序或功能块中返回。

十一、移位和循环指令

  • 移位指令

    • 整数右移(SHR_I):将整数向右移位。
    • 双整数右移(SHR_DI):将双整数向右移位。
    • 字左移(SHL_W):将字向左移位。
    • 字右移(SHR_W):将字向右移位。
    • 双字左移(SHL_DW):将双字向左移位。
    • 双字右移(SHR_DW):将双字向右移位。
  • 循环指令

    • 双字左循环(ROL_DW):将双字向左循环移位。
    • 双字右循环(ROR_DW):将双字向右循环移位。

十二、状态位指令

  • 溢出异常位(OV):表示溢出异常状态。
  • 存储溢出异常位(OS):表示存储溢出异常状态。
  • 无序异常位(UO):表示无序异常状态。
  • 异常位二进制结果(BR):表示异常状态的二进制结果。
  • 结果位等于0(==0):表示结果位等于0的状态。
  • 结果位不等于0(<>0):表示结果位不等于0的状态。
  • 结果位大于0(>0):表示结果位大于0的状态。
  • 结果位小于0(<0):表示结果位小于0的状态。
  • 结果位大于等于0(>=0):表示结果位大于等于0的状态。
  • **结果位小于等于0
登录后下载
对不起,请登录后再发表评论!

触屏端
扫一扫手机也能发信息
明扬工控商城-工控网-工控自动化真品,一站式专业服务!