求大神们告诉我这个plc的程序模块在哪儿
答案:2 悬赏:70
解决时间 2021-01-03 00:42
- 提问者网友:护她一生,唯爱
- 2021-01-02 07:15
最佳答案
- 二级知识专家网友:社会水太深
- 2021-01-02 08:23
plc行程序模块的划分
基于plc梯形图中程序是逐行扫描逐行执行的特性。从can总线下载的plc程序,可能很少,只有几条,也可以很多,长达几千条,如果不对这一大堆指令进行整理而直接进行编译和执行,fpga开发者的任务过重,而且程序的执行过程难以控制。所以有必要对plc指令序列进行模块划分。行程序模块的划分原则:以梯形图末尾出现输出作为一个行程序模块结束的标志,这些输出包括基本指令中的out指令、nop指令,以及功能指令中的cj指令、call指令等等。且输出后面如果遇到ld指令,则系统视为下一个行程序模块的开始。这相当于计算机编译系统的语法分析,根据某种给定形式的文法对由单词序列构成的输入文本进行分析并确定其语法结构的一种过程当系统程序遇到ld指令,意味着一个行程序模块开始,系统程序相应行程序模块计数器的值加1。这时链表line的第一个节点的行程序模块序列为1,保存ld指令节点的指针;且instr的第一个节点的数据域保存32位数据格式的ld指令。遇到out指令,一般意味着一个行程序模块的结束,此时,链表instr增加一个节点,保存out指令,且系统程序相应行程序模块结束位置1;这样就完成了一个行程序模块的划分;如果又遇到ld指令,则链表line和instr都要添加新的节点,然后做与第一行相同的操作,直至完成该行程序模块的划分。。
基于plc梯形图中程序是逐行扫描逐行执行的特性。从can总线下载的plc程序,可能很少,只有几条,也可以很多,长达几千条,如果不对这一大堆指令进行整理而直接进行编译和执行,fpga开发者的任务过重,而且程序的执行过程难以控制。所以有必要对plc指令序列进行模块划分。行程序模块的划分原则:以梯形图末尾出现输出作为一个行程序模块结束的标志,这些输出包括基本指令中的out指令、nop指令,以及功能指令中的cj指令、call指令等等。且输出后面如果遇到ld指令,则系统视为下一个行程序模块的开始。这相当于计算机编译系统的语法分析,根据某种给定形式的文法对由单词序列构成的输入文本进行分析并确定其语法结构的一种过程当系统程序遇到ld指令,意味着一个行程序模块开始,系统程序相应行程序模块计数器的值加1。这时链表line的第一个节点的行程序模块序列为1,保存ld指令节点的指针;且instr的第一个节点的数据域保存32位数据格式的ld指令。遇到out指令,一般意味着一个行程序模块的结束,此时,链表instr增加一个节点,保存out指令,且系统程序相应行程序模块结束位置1;这样就完成了一个行程序模块的划分;如果又遇到ld指令,则链表line和instr都要添加新的节点,然后做与第一行相同的操作,直至完成该行程序模块的划分。。
全部回答
- 1楼网友:晨与橙与城
- 2021-01-02 09:35
,
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |