手动短信的实现 点击:529 | 回复:7



PLC酷客

    
  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-09-04 15:34:34
楼主

手动短信的实现


l手动操作的核心思想:
设置一个手动按钮,执行一个可执行程序(*.exe ,*.bat等)
注意:执行*.exe文件是要加参数的!
     例如:HD_H6221_CGS.EXE 1,115200,n,8,1,8613412345678,Message22222
           这就是短信程序的核心,具体参数说明见相关说明文档(《HD_H6221_CGS.docx》)。
如果把上面那句话写成一个*.bat文件,一切就简单了。直接按钮宏写成<WINEXEC>短信.bat
就OK。不过你要想改参数就复杂了,涉及文件操作的脚本要比变量操作的脚本复杂,最讨厌的是每改一次参数都要写文件,也就意味着有写磁盘的操作,如果是硬盘倒是无所谓,可是CF卡是闪存,读写次数有限,所以就不用这种费力不讨好的方法了。

l一个语法的陷阱:
宏指令:<WINEXEC>HD_H6221_CGS.EXE 1,115200,n,8,1,8613412345678,Message22222
或 TCL脚本:WINEXEC HD_H6221_CGS.EXE 1,115200,n,8,1,8613412345678,Message22222
貌似没问题,但实际执行时参数只剩下1
!
这是因为WINEXEC函数对“,”非常敏感。在宏指令里是两个宏指令的分隔符。在脚本里就默认为分断。
所以:

l用VBS脚本实现:





楼主最近还看过



PLC酷客

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-09-04 15:34:50
1楼

写成以下就能实现:

Dim strpra


strpra = "C:\WebAccess\Node\HD_H6221_CGS.EXE 1,115200,n,8,1,8613412345678,Message22222"


createobject("wscript.shell").run (strpra),0


但是参数是必须要能改变的,尤其是短信内容,那就用变量来实现吧。


PLC酷客

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-09-04 15:35:20
2楼

l参数为变量的实现:


Dim strpra


strpra = "C:\WebAccess\Node\HD_H6221_CGS.EXE " & GETVAL("短信参数_端口") & GETVAL("短信参数_号码") & GETVAL("短信参数_信息")


createobject("wscript.shell").run (strpra),0




首先要定义3个全局变量:短信参数_端口、短信参数_号码、短信参数_信息


PLC酷客

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-09-04 15:35:37
3楼

建立3个常数点,文本类型,一定要可读写的啊


短信参数_信息长度留70,其他2个长度留20就可以了。




然后打开脚本编辑器  工具→脚本文件
选择VBScript


写下那一段文字。保存。




如果是WebAccess的老鸟,那么后面的内容不用看了,自己去做一个实际应用的组态画面吧。


PLC酷客

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-09-04 15:36:48
4楼

l画面的组态:


做一个画面,用来设定参数的


记得另存为.bgr


再做一个按钮调用它


PLC酷客

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-09-04 15:37:55
5楼

回到短信设定画面,做一个发短信的按钮,调用刚才写的VBS脚本,发完短信回到上一画面。


短信的内容可以手动输入,也可以调用系统的数据,以下是一个调用系统报警的实现,仅供参考:


PLC酷客

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-09-04 15:41:29
6楼

SETVAL "短信参数_信息=[GETVAL "%TLV(%TALMLOG2 0 %AALMLOGH)"]||[GETVAL "%TLV(%TALMLOG3 0 %AALMLOGH)"]||[GETVAL "%TLV(%TALMLOG5 0 %AALMLOGH)"]||[GETVAL "%TLV(%TALMLOG4 0 %AALMLOGH)"]"


PLC酷客

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-09-04 15:42:25
7楼

l看看执行效果吧(全图,无说明)



热门招聘
相关主题

官方公众号

智造工程师