【技术实现步骤摘要】
一种编译型PLC程序的在线调试方法
[0001]本专利技术涉及一种
PLC
程序调试方法,特别是一种编译型
PLC
程序的在线调试方法
。
技术介绍
[0002]目前市场上,基于
PLC
硬件的编程软件大多基于符合
IEC
‑
61131
‑3标准的编程语言
(ST
,
FBD
,
SFC
,
LD
,
IL
,以下简称编程语言
)。
标准规定了编程语言,对于在
PLC
上的运行时,目前分为编译型以及动态运行两种方式,编译型将编程语言编译为目标平台的二进制代码,或编译为指定虚拟机的字节码
。
由于编程语言众多,一般会将多种编程语言转换为一种语言
(
一般为
ST)
,然后对生成结果再进行后续操作
。
目前,多数
PLC
编程软件仅支持
ST
调试,不支持其它形式语言的调试,一些方案依赖于
PLC
运行时
(RTE)
读取加载调试信息,对
PLC
的主频要求较高,且为
PLC
运行时增加了不需要的负担
。
还有一些方案依赖于对编译前的代码进行插入,导致生成的文件体积庞大,不利于中小型
PLC
的使用
。
[0003]因 ...
【技术保护点】
【技术特征摘要】 【专利技术属性】
1.
一种编译型
PLC
程序的在线调试方法,其特征在于,包括以下步骤:
S1、
上位机软件编译
FBD
用户程序,并构建对应关系语法树,生成可执行二进制的用户程序;
S2、
上位机软件下载用户程序到
PLC
控制器,
PLC
控制器运行时加载用户程序并运行;
S3、
用户在上位机软件中对用户程序进行断点;当上位机软件开启调试模式后,上位机软件读取项目中的程序文件,获取每个程序文件的对应关系语法树,获取断点的内存地址;
S4、
通过通信协议将断点的内存地址发送给
PLC
控制器运行时,
PLC
控制器运行时在断点的相对内存地址保存当前的指令,随后将当前指令替换为目标平台上的调试中断指令;
S5、
当用户程序运行到断点处时,用户程序将引发调试中断,由
PLC
控制器运行时接管,
PLC
控制器运行时将内存地址的当前指令还原,并通知上位机已进入断点模式;
S6、
用户在上位机软件点击下一步,上位机软件查找当前断点的下一条表达式的内存地址并通讯
PLC
控制器运行时,
PLC
控制器运行时执行新断点的内存替换,退出调试状态并继续运行用户程序
。2.
根据权利要求1所述的一种编译型
PLC
程序的在线调试方法,其特征在于,上位机软件编译
FBD
用户程序的过程为:
S11)
分析
ST
块,每个
FBD
块都对应一条或多条
ST
语句,根据
FBD
块创建一个语法关系树对象,将
Block
的标识符填写到
BlockId
;
S12)
依次转换
FBD
块为
ST
技术研发人员:张海洋,谭灿,李耀廷,史文斌,吴孝朝,
申请(专利权)人:浙江源创智控技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。