本人做过一些WINCC的项目,总结了一些问题一直困扰着我,现在在这里请教高手给指点一下。问题如下:
1、在什么情况下把WINCC项目集成在S7项目里?并且直接用WINCC调用S7的变量,这些工作我会做,但是不知道在什么情况下这样使用变量更合适?
2、我在建立上位机和下位机的变量时习惯使用DB块,这样做变量可以灵活更改,不至于PLC的某点出了问题使用备用后,上位机要改变量地址,并且DB打包传输速度能更快,WINCC建的变量全在DB中很少读取直接地址如i0.0、m0.0等,这是我喜欢的做法,这样做合适吗?
3、为什么在WINCC中建立结构变量时“位类型”的字节地址偏移量只能是偶数?如果0字节没有用完,想使用1字节该怎么办?
4、在STEP7中在DB中建立变量和数据类型,为什么存在“浪费”现象?第0字节建了几个布尔变量但该字节未用完,之后建立数据类型如果不是布尔或字节类型的话,地址就从2或者其他开始了,为什么不从1字节开始呢?这样1字节不就白白浪费了吗?
5、有时候在WINCC建变量时为减少工作量会建结构变量,但是这些结构变量和重复的程序块中的背景DB地址不一致该怎么办?比如程序中的电机块背景DB1“启动”在DB1.1而结构变量因为3的原因不能建在DB的1字节?那该怎么办呢?做个DB起个中间过渡作用吗?是不是这样绕的远了?该让谁去适应谁呢?
6、为什么在WINCC项目中使用了S7变量,在S7项目中取消了操作员监控,但是WINCC中建立的一个S7连接删不掉呢?
以上是我在上、下位机建立变量时存在的困惑,望高人指点迷津!不胜感谢!
最佳答案
1.,WinCC的项目文件集成在STEP 7项目中使得从WinCC里调用STEP 7 变量可以将建立变量的工作量减少一半,同时将建立变量的出错概率减少一半,从而减少了相应的排错工作,大大提高了工作效率。要使用WinCC与STEP 7的集成功能,WinCC和STEP 7必须安装在同一台计算机上,必须在安装WinCC之前安装STEP 7。STEP 7 与WinCC的版本必须兼容。
2.使用DB块方便编程和维护
3.因为地址是从偶地址位开始的,前一个偶地址已经覆盖了后面的奇地址,如果0字节没有用完,后面的1字节不能使用。
4.这是数据内部存储规则造成的,不过你可以指明具体的地址比如DB1.DBX1.1。
5.STEP项目文件里的符号表,共享DB里的变量可以一次性的传入继承的WinCC项目文件。不会不一致。
6.如果s7是从step7传到wincc的,那么为保持数据一致性,传输过后的变量不能从WinCC里直接修改或删除,必须从STEP 7项目文件中进行修改并再次编译。
提问者对于答案的评价:
解释的很好,谢谢了!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc272956.html