5.双击“项目树”-“PLC_1”-“PLC变量”-“默认变量表”,创建4个变量,如下图所示。

s7-1200plc编程第三版答案(PLC使用辗转相除法求最大公约数)(1)

6.打开FB函数块,创建如下程序。

s7-1200plc编程第三版答案(PLC使用辗转相除法求最大公约数)(2)

(1)WHILE指令

使用“满足条件时执行”指令可以重复执行程序循环,直至不满足执行条件为止。该条件是结果为布尔值(TRUE 或 FALSE)的表达式。可以将逻辑表达式或比较表达式作为条件。

执行该指令时,将对指定的表达式进行运算。如果表达式的值为 TRUE,则表示满足该条件;如果其值为 FALSE,则表示不满足该条件。

也可以嵌套程序循环。在程序循环内,可以编写包含其它运行变量的其它程序循环。

WHILE <Condition> DO

<Instructions>;

END_WHILE;

其中:

<Condition>:条件,每次执行循环之前都需要进行求值;

<Instructions>:指令,在满足条件时,要执行的指令。

(2)GOTO跳转

使用“跳转”指令,可以从标注为跳转标签的指定点开始继续执行程序。

跳转标签和“跳转”指令必须在同一个块中。在一个块中,跳转标签的名称只能指定一次。每个跳转标签可以是多个跳转指令的目标。

不允许从“外部”跳转到程序循环内,但允许从循环内跳转到“外部”。

GOTO <跳转标签>;

...

.... <跳转标签>: <指令>

其中:

<跳转标签>:跳转标签,将跳转到标签处;

<指令>:跳转后执行的指令。

7.启动仿真,在监控表中修改第一个整数和第二个整数的值,如下图所示。

s7-1200plc编程第三版答案(PLC使用辗转相除法求最大公约数)(3)

8.返回到OB1组织块,使计算触发信号产生上升沿,如下图所示。

s7-1200plc编程第三版答案(PLC使用辗转相除法求最大公约数)(4)

,