您现在的位置是:首页 > PLC技术 > PLC技术

STL编程语言中使用CC0和CC1的跳转功能

来源:艾特贸易2017-06-05

简介通过 CC0 和 CC1 可以实现条件程序分支(如表 16-2 所示),这允许用户检测计算结果是正数、零或负数。 表 16-2 CC0 和 CC1 跳转功能 1 .设置状态位 以 CC0 和 CC1 状态为条件的跳转功能不会

    通过CC0CC1可以实现条件程序分支(如表16-2所示),这允许用户检测计算结果是正数、零或负数。

    16-2    CC0CC1跳转功能

CC0和CC1跳转功能

    1.设置状态位

    CC0CC1状态为条件的跳转功能不会改变其他任何状态位。跳转时,RLO相随,并可进一步组合(/FC无变化)

    二进制检测是检测状态位的另一种方法。

    2.如果结果为零则跳转

    仅当CC0=0”和CC1=0”时才执行跳转功能JZ。符合情况的有下列情形:

    ●执行算术或数学功能后,累加器1的内容为0

    ●比较功能时,累加器1与累加器2的内容相同。

    ●处理数字逻辑运算后,累加器1的内容为0

    ●执行移位功能之后,被移动的最后一位的值为0

    其余情况下,JZ继续执行程序的下一条语句。

    3.如果结果不为零则跳转

    仅当CC0CC1状态位有不同的信号状态时,才执行跳转功能JN。符合情况的有下列情形:

    ●执行算术或数学功能后,累加器1的内容不为0

    ●执行比较功能时,累加器1与累加器2的内容不相同。

    ●处理数字逻辑运算后,累加器1的内容不为0

    ●执行移位功能之后,被移位的最后一位的值为1

    其余情况下,JN继续执行程序的下一条语句。

    4.如果结果大于零则跳转

    仅当CC0=0”和CC1=1”时,才执行跳转功能JP。符合情况的有下列情形:

    ●执行算术或数学功能之后,累加器1的内容在允许的正数范围之内(用户使用J0

    JOS来检测是否超出数字范围)。

    ●执行比较功能时,累加器2的内容大于累加器1的内容。

    ●处理数字逻辑运算后,累加器1的内容不为0

    ●执行移位功能之后,被移位的最后一位的值为1

    其余情况下,JP继续执行程序的下一条语句。

    5.如果结果大于或等于零则跳转

    仅当CC0=0”时才执行跳转功能JPZ。符合情况的有下列情形:

    ●执行算术或数学功能之后,累加器1的内容为0或在允许的正数范围之内(用户使

    JOJOS来检测是否超出数字范围。

    ●执行比较功能时,累加器2的内容等于或大于累加器1的内容。

    ●位于每一个数字逻辑运算之后。

    ●位于每一个移位功能之后。

    其余情况下,JPZ继续执行程序的下一条语句。

    6.如果结果小于零则跳转

    仅当CC0=1”和CC1=0”时才执行跳转功能JM。符合情况的有下列情形:

    ●执行算术或数学功能之后,累加器1的内容在允许的负数范围之内(用户使用JO

    JOS来检测是否超出数字范围)。

    ●执行比较功能时,累加器2的内容小于累加器1的内容。

    其余情况下,JM继续执行程序的下一条语句。

    7.如果结果小于或等于零则跳转

    仅当CC1=0”时才执行跳转功能JMZ。符合情况的有下列情形:

    ●执行算术或数学功能之后,累加器1的内容为0或在允许的负数范围之内(用户使

    JOJOS来检测是否超出数字范围)。

    ●执行比较功能时,累加器2的内容等于或小于累加器1的内容。

    其余情况下,JMZ继续执行程序的下一条语句。

    8.如果结果无效则跳转

    仅当CC0=1”和CC1=1”时,才执行跳转功能JUO。符合情况的有下列情形:

    ●执行算术功能时,零作除数。

    ●无效的REAL数被指定为输入值或作为结果。

    其余情况下,JUO继续执行程序的下一条语句。