技术论坛

如何把WINCC中“内部变量”的值通过“VBS”写入到PLC的“AS变量”中去

作者 主题
游士

经验值: 264
发帖数: 24
精华帖: 0
主题:【求助】如何把WINCC中“内部变量”的值通过“VBS”写入到PLC的“AS变量”中去


只看楼主 楼主 2018-09-30 09:36:23

        因为PLC程序不是我们编写的,无法改动,所以需要把WINCC这边写入的数值经过计算后再写入PLC的AS变量中去。由于计算公式比较复杂,所以简单的线性标定实现不了。

        我自己本身也查了很多资料,但是不知道为什么就是无法实现,下面我把相对来说个人觉得比较靠谱的编写程序写在下面,希望各位大大们能够指点一二,万分感谢。


1、建立“输入/输出域1”,为保险起见,“输入”与“输出”均直接连接“WINCC内部变量”

2、建立“输入/输出域2”,为保险起见,“输入”与“输出”均编写以下VBS代码分别测试

     个人编写代码如下:

     Dim wincctag,plctag

     set wincctag=hmiruntime.tags(“WINCC内部变量”)

     set plctag=hmiruntime.tags(“PLCAS变量”)

     plctag.read

     wincctag.read,1

    wincctag=plctag.value     

    plctag.write wincctag,1


3,利用“输入输出域1”来给“wincc内部变量”赋值,进而更改“PLCAS变量”的值。


不知道哪里出了问题,还做过各种变量位置对调,增加删减代码等方式来进行测试,但都一直未能实现目标。望大大们不吝赐教,告知哪里出了问题,感谢。


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1509591&b_id=5

侠客

经验值: 726
发帖数: 89
精华帖: 0
回复:如何把WINCC中“内部变量”的值通过“VBS”写入到PLC的“AS变量”中去


只看楼主 1楼 2018-09-30 11:06:50
Dim wincctag,plctag

set wincctag=hmiruntime.tags(“WINCC内部变量”)

set plctag=hmiruntime.tags(“PLCAS变量”)

plctag.read

wincctag.read,1

' plctag.value = wincctag.read

plctag.write wincctag.read,1
 
以下网友喜欢您的帖子:

  
奇侠

经验值: 5107
发帖数: 520
精华帖: 7
回复:如何把WINCC中“内部变量”的值通过“VBS”写入到PLC的“AS变量”中去


只看楼主 2楼 2018-09-30 13:55:21

个人感觉,赋值用C脚本更直观一些的


认真做事,低调做人
以下网友喜欢您的帖子:

  
版主

经验值: 43608
发帖数: 15785
精华帖: 61
回复:如何把WINCC中“内部变量”的值通过“VBS”写入到PLC的“AS变量”中去


只看楼主 3楼 2018-10-01 20:06:53

hmiruntime.tags("PLCAS变量").write hmiruntime.tags("WINCC内部变量").read

你的脚本的括号和双引号应该是中文的,需要用英文的才行。或者直接用我上面的这个脚本就行了。


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
侠圣

经验值: 2300
发帖数: 442
精华帖: 1
回复:如何把WINCC中“内部变量”的值通过“VBS”写入到PLC的“AS变量”中去


只看楼主 4楼 2018-10-04 07:52:30

WinCC的帮助中有VBS脚本的一些示例 ,用法都是参考帮助中示例来就是了 


co771@qq.com,好难
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
如何把WINCC中“内部变量”的值通过“VBS”写入到PLC的“AS变量”中去
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。