基于CODESYS的工程比较

前言

不用不知道,一用吓一跳。又一次被自己的浅陋给带偏了,原本以为编程软件就仅仅是配置、编辑、编译、下载、调试的工具而已,没曾想自己不用并不是代表编程平台没有。

在本人的印象中,提到比较功能,那就是使用Beyond Compare之类的软件,将文件夹或者文件拖入软件的左右两边。从未想到一个PLC编程软件怎么会有比较功能。还大放厥词,除非对CODESYS编程软件进行二次开发,加入“大家来找茬”程序的接口,否则PLC编程软件怎么会集成比较功能。结果自己的脸被打得啪啪响。

今天给大家大致描述一下CODESYS上位机编程平台的工程比较功能,这个功能人家做的还是非常强大的。

工程比较

在CODESYS上位机编程平台中点击“工程”菜单,选择“比较”命令,将打开工程比较对话框,需要用户选择另一个工程与当前工程进行比较,点击OK后将出现类似于与Beyond Compare文件夹比较类似的工程比较视图。

该视图中将一个工程所包含的所有信息进行比较,包括设备、配置、总线、程序、库文件。

比较选项

工程比较命令会打开工程比较对话框,其中有一些比较选项,可以选择对一些次要信息不进行比较。

比较选项 说明
忽略空格 忽略空格后比较
忽略注释 不比较注释信息
忽略属性 不比较对象属性

工程比较视图界面

单击“确定”关闭“项目比较”对话框时,将打开项目比较视图。

_cds_img_view_project_compare_differences.png

(1) 当前工程的项目树

(2) 另一个工程的项目树

(3) 工具栏,包括命令

(4) 状态栏,信息包括比较选项和不同之处的统计信息

比较视图的颜色和字体的特殊含义

具体可以参考官方在线说明书Comparing Projects

_svn_icon_status_modified_children.png标记的对象

子项不同

黑体字

对象标记过

灰色高亮

对象不同

灰色高亮 + 蓝色粗体

只有另一个工程中有内容

灰色高亮 + 绿色粗体

只有当前工程中有内容

灰色高亮 + 红色字体 + _icon_project_comp_diff_prop.png

两个工程有不同属性

灰色高亮 + 红色字体 + _cds_icon_different_access_rights.png

选中部分与另一个工程中的不同

灰色高亮 + 红色粗体 + _icon_project_comp_diff_impl.png

实现部分不同

双击显示详细不同之处

黄色高亮

接收对象设置

黄色高亮 + _icon_project_comp_unit_added.png

添加另一个工程中的对象到当前工程中

黄色高亮 + _icon_project_comp_unit_deleted.png

删除当前工程中的对象

黄色高亮 + _cds_icon_accepted_properties.png

接收对另一个工程属性的修改

灰色高亮 + 红色粗体 + _cds_icon_accepted_contents.png

接受对另一个工程的修改

比较视图的状态栏信息

内容 说明
比较选项 勾选了哪些比较选项
比较统计 具体的比较结果,参考工程与当前工程相比有多少处增加、删除、更改

可以选择工程中的某一个文件进行比较,双击工程中的文件信息

文件比较

文件比较

(1) 文件比较视图

(2) 变量比较

(3) 视图选项工具栏

双击PLC程序代码可以对工程中的代码进行比较,如图所示对ST语言的比较就如图文本比较。

对梯形图的比较会列出所比较的代码中每一行梯形图语句,只是展示代码,并不会指示具体不同之处,需要人工对比。

配置信息比较

双击设备列表可以对比工程包含的所有设备,包括每个设备的组态信息,如图所示,两个工程都包含了一个ethercat主站和一个从站,配置信息比较将主从站的配置信息一一对比,详细到每个PDO的映射信息。

小结

其实本文不想为CODESYS进行宣传,而是想提醒自己对不了解的技术多加敬畏,不能误导自己和别人

基于CODESYS上位机编程平台的比较功能不仅可以对工程进行比较,而且可以对工程下包括了文本、图形化代码、组态信息、总线配置等各自具体细节进行对比。

唯一需要吹毛求疵的地方是,对于图形化的程序,比较功能不能像“大家来找茬”一样来圈出图形代码中的不同之处,希望我这个结论不要再被打脸了。

posted on 2024-04-29 16:10  MichaelChen-99  阅读(285)  评论(0编辑  收藏  举报

导航