项目是西门子公司设计的,我的系统是这样的:
一个PCS 7的工程师站 ----- 1个计算机
一个WinCC的服务器 ----- 1台计算机
8个WinCC的客户端 ----- 8台计算机
平时修改WinCC项目都是在工程师站修改,然后再通过Step 7管理器下载到服务器站,
下载一次就可以在服务器和客户端都改变啦。
现在我需要在项目上增加一个功能,就是语音报警的功能,不知道怎么做。
我的需求是这样的:
1) 在不同的wincc客户机播放不同的声音报警。
2) 我要怎样才能分辩出不动的客户机
3) 我可以在PLC里面设置多个变量,分辩不同的声音事件, 但是不知道怎么分辩
不同的客户机, 我有一个想法就是通过客户机的计算机名或者IP地址来分辨,但是
不知道在WinCC中如何获取这些信息。
因为以前做的都是直接复制WinCC项目到不同的计算机,然后运行就可以啦,现在是
通过在工程师站下载的方式,所以我不知道怎么做。
现在我要修改WinCC项目是这样的,我在工程师站修改项目,然后在工程师站下载到
就行, 然后服务器就可以接收到数据,而且所有的客户端都会跟着改变。
我不理解的就是为什么所有的客户机都跟着改变啦?? 因为以前没做个这样的模式,
所以有点迷惑。
疑惑点:
1) 我知道做WinCC 服务器和客户端的模式, 会生成一个数据包,然后通过这个数据包
wincc的客户端来获取WinCC服务器的数据,我理解的是这样获取的是过程数据,应该不
会是获取项目数据吧???
但是我平时修改也就是在工程师站修改,然后下载服务器和客户端都同步修改啦,具
有相同的效果。
这样是不是就不需要将wincc项目复制到wincc客户端,或者是需要和以前一样,将wincc
项目复制到各个客户端,直接运行。
因为没有做个这样的服务器客户端模式,所以有点不理解。
2)因为在WinCC的资料里面说如果是服务器和客户端模式,只需要在组态服务器端就可以
不需要组态客户端。 因此我的理解是这样的: 通过生成的数据包, 客户端就可以同步跟随
服务器更新。
3) 现在如果我要做报警声音的话,是不是只要将声音下载到服务器就行,然后各个客户端
都可以访问服务器的声音, 因为我看西门子的WinCC声音报警的手册,说的是服务器和客户
端都必须能访问到声音文件才行,因此我就不知道怎么做到所有的客户端都可以访问。
4)wincc中horn功能,我看啦网站的视频,只有一个wincc画面的基本看懂啦,但是关于服务器/客户端这种的不知道有么有区别。
图片说明:
最佳答案
1、pcs7的c-s做法是客户端的画面等内容都来自服务器,client基本是个空壳子
但是wincc的c-s做法不局限于一种,也可以把把画面放在client的工程中,server工程里面只有tag、报警和趋势的组态。
2、获取本地计算机名称很简单,有个系统变量(@前缀的,大概叫@localMachineName,我记不清了,打开wincc看看就知道了),你可以读取这个变量内容来判断当前机器需要播放哪个文件就行了)
3、语音报警可以用horn做,也可以自己写脚本根据变量触发来用playsound来播放声音文件,我觉得后者可能更适合你的情况吧
提问者对于答案的评价:
问题还是没解决
最佳答案作者回复:
1、pcs7的c-s模式里面,client下载一次就行了,因为是个空壳子,后面基本就更新server
2、所谓的数据包,在pcs7里面是编译wincc工程的时候自动进行的,不需要手动去做
3、horn的问题其实和简单,就是客户机根据条件播放wav文件,因此要保证客户机能访问到wav文件,由于wincc工程文件夹都是共享的,因此客户机必然能够访问到server的工程文件夹中的wav文件
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc365375.html