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

软PLC编译系统的开发与仿真

点击数:7453 次   录入时间:03-04 11:40:29   整理:http://www.55dianzi.com   PLC工业控制

 

  图2 非递归的预测分析器模型

  预测分析器的控制程序总是根据栈顶符号和当前输入符号来决定预测分析器的动作,预测分析器的控制程序算法如下:

  置指针ip指向输入符号串的第1个字符

  while(1)

  令X是栈顶符号。a是ip所指的符号;

  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所示。

 

  图3 程序逻辑仿真界面

  程序中所包含的PLC元素会按类别以表格形式列出,元素的不同颜色表示元素的开关状态,红色代表高电平,白色代表低电平。当用鼠标改变输入元素的状态时。输出元素的状态会按照程序逻辑进行改变,改变的结果可由颜色的变化来显示。

  6、结束语

  软PLC程序的逻辑仿真结果表明,开发的软PLC编译系统能实现软PLC梯形图与指令表程序的相互转换,完成软PLC程序的文法设计和语法分析,对软PLC程序的运行指令作出正确解释,并能按照PLC的工作原理运行,使PC机完成相应的控制功能。开发的软件系统能很容易地实现PLC程序的编辑和逻辑仿真,系统结构简单,使用方法简便,为今后进~步研究和开发软PLC的下位机系统、不断完善软PLC系统的功能和实现其良好的控制特性奠定了基础。

上一页  [1] [2] 


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