plc_result&=0x01;//闭合状态置位
}
}
2.2.2执行指令解析
执行指令则根据当前执行块条件指令结果来判断对元件地址进行相应处理。例如置位指令(SET)可以用如下函数实现:
voidplcSET(plc_code_type&pc)
{if(plc_result&1)
//判断条件指令,闭合,有输出
{
pc->pt_addr|=0xff;//对应地址置位
}
}
这样,逐个对PLC执行块进行解析,输入和输出单元的刷新同样利用函数来实现,最后通过输出口送出控制量,实现对用户PLC程序的执行控制。
ground-color:rgb(255,255,255);">2.3PLC执行系统运行流程
首先在DSP/BIOS配置工具下的Scheduling项目中建立一个任务线程,比如为PLC_Deal_Task,并对该任务函数的优先级及其它相关内容进行设置,则可直接在PLC_Deal_Task线程中进行PLC指令解析处理,并实现PLC的循环扫描功能。
总体设计思想如下:设定一级程序的执行周期为m个指令计数执行一次,m与扫描周期有关。在进入二级循环后,首先判断指令计数是否大于m,未到m,则进入执行二级程序。如果条件满足,跳出循环,1周期完成,具体调度流程如图2所示。
本文关键字:开发 PLC入门,plc技术 - PLC入门