您当前的位置:五五电子网电子知识plc技术plc应用其它PLC应用浅析嵌入式系统硬件平台的软件PLC实现方法 正文
浅析嵌入式系统硬件平台的软件PLC实现方法

浅析嵌入式系统硬件平台的软件PLC实现方法

点击数:7225 次   录入时间:03-04 11:39:06   整理:http://www.55dianzi.com   其它PLC应用

 按照yacc的语法规则,对应于巴科斯范式描述写出yacc源程序后,用“yacc-dv plcil.y”指令转换成语法分析器的C语言源程序yyparse。
    (2)将PLC指令表转换为二进制代码
    PLC指令表源程序的二进制文件格式为:每条指令的二进制编码占32位,操作符的编码与元件编码相加作为目标代码的高16位,低16位为元件的编号。例如,操作符LD的编码为0xFF00,元件X的编码为Ox01,指令LD X1的编码为0xFF010001。
    指令表编译器的代码转换功能由yacc源程序规则的动作部分来实现。当语法分析器识别出一条完整的指令时,就将其对应的二进制代码保存到文件中。
    (3)将PLC指令表转换为树形结构
    Yacc语法分析程序通过寻找可以匹配目前为止所看到的标记的规则来工作。Yacc处理语法分析程序时创建了一组状态,每个状态都反映一个或多个部分地被分析的规则中的一个可能的位置。当语法分析程序读取标记时,每次它读取一个没完成规则的标记,就把它压入内部堆栈中并切换到一种反映它刚刚读取的标记的新状态。这个动作称为移进(shift)。当它发现组成某条规则右侧的全部符号时,它就把右侧符号弹出堆栈,而将左侧符号压入堆栈中,并且切换到反映堆栈上新符号的新状态。这个动作成为规约(reduction)。当yacc规约规则时,它都执行与这条规则有关的用户代码。
    利用堆栈的思想实现指令表语言向梯形图树形结构的转换。自定义一个栈Stack,可以压入和弹出指向Lad—derElement类型的对象的指针。在进行代码转换时,栈Stack动作与语法分析栈的动作不同。当yacc解析到如LD/LD1、AND/ANI等含有元件的指令语句时,将这些指令中的元件入栈(如上述代码中的B、C行),逻辑块的构造在其对应的语法规则的动作部分实现。

3 小 结
    嵌入式软PLC最突出的特点是,借助于嵌入式系统的硬件平台用软件的方法实现标准PLC的功能,代替专用控制器,结构开放,开发周期短、成本低,具有良好的应用前景。虽然文中PLC指令采用的是日本三菱公司FX2N可编程控制器系列指令,但是只需稍作修改即可用于其他厂商的产品。目前该嵌入式软PLC已成功应用于数控铣床中,完全满足控制要求。

上一页  [1] [2] [3] [4] 


本文关键字:硬件  嵌入式  软件  其它PLC应用plc技术 - plc应用 - 其它PLC应用

《浅析嵌入式系统硬件平台的软件PLC实现方法》相关文章>>>