项目里有一个用C动作组态的转换按钮,连接的变量是M100.0,点击一下是自动状态(M100.0置1),再点击一下是手动状态(M100.0置0),因项目里需要很多这样的按钮,我想用复制的方法复制该按钮,只是把连接的变量换成我需要的变量,C动作组态不变,不知这样行不?请大家指教!
最佳答案
《变更 WinCC 图形对象的变量连接》中介绍了变量直连、动态对话框等方式的变量替换。
http://support.automation.siemens.com/CN/view/zh/17515413
那么如何批量替换 WinCC 对象 C 脚本中的变量名呢?
1.首先,C 脚本要使用一定的格式,如下:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma option(mbcs)
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 1
// WINCC:TAGNAME_SECTION_END
// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END
}
2.将变量定义写在注释语句// WINCC:TAGNAME_SECTION_START 和 // WINCC:TAGNAME_SECTION_END 之间,格式如下:
#define Tag_1 "M100_0"
3.脚本内的语句直接使用 Tag_1 来代替变量 M100_0。
4.复制这个对象,粘贴若干个。
5.右键点击对象,选择 Linking -> Tag Connections -> Find and Replace选项卡,填入你要替换的原变量名和新变量名,选中筛选出来的结果(如果要全部替换点击 Select all),点击 Preview 预览替换结果,确认无误点击 Replace,再点击 OK 保存。
提问者对于答案的评价:
谢谢!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc266378.html