我该怎么办

编译os时出现
The number of external DM variable in wincc exceeds the permitted in total number.
怎么处理

问题补充:
我用的点数没有超呀,我用的是64k能支持多少点数呀

最佳答案

我也不建议再购买新的,估计你的点数超出不是很多,可用以下方法:
 1、输入的拆包

 建一个32位的变量,把PLC中32个BOOL数据读上来。

 在WINCC中建一全局脚本,做32个与运算,取出你需要的位来,并赋给相应的内部变量,用32点TAG做触发器,如

 ...... 

 dint 11,22,33...;

 aa=GetDWordtag(bb);//bb是外部连接TAG

 11=aa&0x01000000//取低字节的第一位

 if(11==0x01000000)

 {

 cc=1;//CC为内部BOOL变量 

 }

 else

 {

 cc=1;

 }

 ......

 2、打包输出

 建一个32位的变量,负责把上位32点的信号传下去。

 如要将A、B、C.....等变量传下去,则事先约定各下传BOOL变量在32位TAG中的位置。

 dint BB; 

 if(A)//加入第一个数据

 BB=BB+0X01000000;

 ELSE

 BB=BB+0X00000000

 if(B)//加入第二个数据

 BB=BB+0X02000000;

 ELSE

 BB=BB+0X00000000

 if(C)//加入第三个数据

 BB=BB+0X04000000;

 ELSE

 BB=BB+0X00000000

 ......

 setdwordtag(CC,BB);//CC为32点外部变量
参考资料:论坛上其它大侠的高招

提问者对于答案的评价:
看不太懂,不过非常感谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc202721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月1日
下一篇 2017年11月1日

相关推荐