本期《调试故事会》跟大家分享一个西门子STEP7编程的小技巧:使用“重新接线(Rewire)”功能来快速修改程序变量。
事情是这样的:由于项目工艺流程的修改,我需要将PLC程序中的某个布尔型变量(假设为:M100.1),修改成另一个布尔型变量(假设为:M200.2)。由于项目程序较大,经过对“M100.1”进行检索,发现很多功能块(FB)和功能(FC)都存在对该变量的引用。而这些功能块中的“M100.1”,都需要修改成新的变量:M200.2。
要解决这个问题,一种方法是手动把相关的功能块/功能(FB/FC)里的变量“M100.1”修改成“M200.2”。在项目程序不大并且对该变量的引用不多的情况下,手动修改也是可以的。但如果项目程序比较大,比如我这个项目,涉及到10多个功能块的30多处修改,如果手动一个块一个块的修改的话,不仅耗时耗力,而且很有可能会出现遗漏的情况。怎么办呢?
我想到了STEP7的“重新接线(Rewire”)功能。
于是我调出了该功能,经过几个简单的步骤,问题很快解决。此时真的能体会到SAMATIC开发平台适合大项目的开发,那些看似简单的功能,却能轻松解决问题。当然前提你要知道这些功能的存在,平时知识的点滴积累也蛮重要的。下面我就和你分享下如何使用STEP7的“重新接线(rewire)”功能。
首先在STEP7的开发环境中,右键单击“Blocks”,找到“属性(Object Properties)”,如下图:
在弹出的对话框中,点击“地址优先级(Address priority)”,选择“绝对地址优先(Absolute value has priority)”。有两个选项,我一般选择后者,如下图:
然后回到“Blocks”文件夹,右键单击,选择“重新接线(Rewire)”,如下图:
在弹出的对话框中,在“旧地址(Old address)”栏中输入源地址,比如“M100.1”;在“新地址(new address)”栏中输入目标地址,比如“M200.2”,如下图:
点击“确定(OK)”,SAMATIC STEP7会自动用“新地址”的变量替换“旧地址”的变量,完成后还会生成一个文本文件,你可以看到哪些FB/FC中有变量的修改,十分方便。
本示例中,由于我们选择了整个“Blocks”文件夹,你会看修改范围包含了“Blocks”中的所有FB、FC和OB。如果你只想修改某个或某几个FB,选中相应的FB,右键单击“Rewire”即可。
是不是很简单?小功能大用处哦。
好了,本期《调试故事会》就说到这里,往期《故事会》参考如下:
发表评论