您当前的位置:五五电子网电子知识电器控制PLC工业控制软PLC编译系统的开发及实现 正文
软PLC编译系统的开发及实现

软PLC编译系统的开发及实现

点击数:7722 次   录入时间:03-04 12:04:03   整理:http://www.55dianzi.com   PLC工业控制
    if(X是终结符号或$)
    if X==a
    pop(X),更新ip;
    else
    error();
    else(X是非终结符号)
    if M[X,a]:X—yly2?K
    pop(X);
    push(Y1Y2?K);
    else
    error();
    else(X==$)
    分析成功;
    break;
   
    其中,M[X,a]是指预测分析表中x行和a列相交处的产生式。
   
    下面举例子来说明PLC程序语法分析程序的工作过程。

   

    将指令用小写字母代替后,程序指令变为acababecdcf,将该字符串作为输入,分析过程如表2所示。

表2 PLC程序语法分析表

    5、软PLC程序编译的实现
   
    PLC指令表程序的分析是通过对指令表程序的解释而获得程序的逻辑,并以对话框形式演示程序的逻辑状态。在解释过程中,构造2个变量,1个用于存储分支块的逻辑值,另1个用于存储分支块前面语句的逻辑值。同时构造1个堆栈用来存储解释过程中的结果,分支块前面的值保存在堆栈中,整个分支块的值保存在1个临时变量中。
   
    PLC指令表程序的解释过程为:1)当解释程序发现LD或LDI指令时,将临时变量值压入堆栈,临时变量赋值为1,临时变量与指令后面的元素进行逻辑与操作,将结果保存在临时变量中;2)当解释程序发现AND或ANI指令时,临时变量与指令后的元素进行与操作,将结果保存到临时变量中;3)当解释程序发现OR或ORI指令时,l临时变量与指令后的元素进行或操作,将结果保存到临时变量中;4)当解释程序发现ANB指令时,临时变量与栈顶的值进行与操作,将结果保存到临时变量中,同时堆栈将栈顶元素弹出;5)当解释程序发现ORB指令时,临时变量与栈顶的值进行或操作,将结果保存到临时变量中,同时堆栈将栈顶元素弹出;6)当解释程序发现OUT指令时,将临时变量与栈顶的值进行与操作,将结果保存在临时变量中。同时清空堆栈。
   
    程序逻辑的仿真界面,如图3所示。

上一页  [1] [2] 


本文关键字:开发  PLC工业控制电器控制 - PLC工业控制