我现在在PLC中定义了一个DB3的数据块,然后想要用wincc控制这个DB3中的某一个值

我现在在PLC中定义了一个DB3的数据块,然后想要用wincc控制这个DB3中的某一个值,比如说DB3.DBD14这个值,现在wincc里面定义一个外部变量,无符号的32位数,然后将wincc的I/O口域关联到这个变量,都是10进制的数,运行的时候我在I/O口域输入一个数据比如100.但是在DB3.DBD14中显示的却是

这是什么情况。

呵呵呵,这是软件界面的显示方式不对造成的,你可以右键选择这个数据,然后在弹出的菜单内选择显示方式。里面有16进制,有十进制等其他显示方式。你试试就知道了。追问

弄好了,但是还有一个问题,当我输入这个值得时候,比如说我输入了180这个值,我要和PLC内部的DB3.DBD0进行比较,如果改了显示方式之后所有的显示方式都变了。

而没有改之前是这样的

这是怎么回事啊?

追答

对啊,改变显示方式是改变当前界面的所有显示方式。你觉得这很重要吗?其实你只需要确定你输入的数据到PLC里是那个数据就可以了,至于显示方式和计算你都不用管,PLC自己会判断好并计算好的。不用担心。显示方式只是提供给用户观察和检查程序的,你不用担心。你要看其他的,你可以在其他地方改变显示方式啊。除了查看,这个和程序本身在PLC里的执行关系不大。因为PLC是计算机,它识别的其实只有二进制数据,监视界面里显示这些数据,其实是为了方便用户的。

追问

我的DB3.DBD14是从上位机的I/O口域输入的啊,我输入80不就应该显示80么?我本来通过FC105计算之后的值时一个工程量液位是8.5这么高,然后我从上位机输入一个20与8.5进行比较,比20小的话就应该Q4.0得电的啊,但是现在却不得电。主要是这个问题。

追答

你的数据格式不对,你要把两个数据显示成一样的十进制数。你看看就知道了。现在你的数据是8.5大于下面的20,你看看程序其他地方是否有使用DB3.DBD14的,或者使用其内部地址的,你的数据根本就没改到。还有你的上位机变量根本没有关联到你的PLC。你在上位机输入,PLC里面有变化吗?十进制的英文是 decimal 。你看看。

追问

您有没有QQ号啊,方不方便加啊?我把截图发给您看看

追答

截图发这里就可以了。我觉得你的问题不大,你可以自己先试试。你这个数据不对,如果你输入的是80.不可能显示那些小数的。你看看其他地方有没有搞错。你新加了变量。在WINCC里更新了吗?这才是关键。WINCC里还有其他变量连接到这个地址吗?你查查。

追问

这个是I/O口域输出值

这个是传送之后的显示在step7中的

这个是设置的变量

这个是DB模块里面的设置

这个是I/O口域

追答

你把IO换成输入。更新周期换成500毫秒都可以

追问

还是不行啊,我先用I/O口域传送给一个MD,然后用MOVE指令传送给DB3.DBD14,显示的是OOb4,之后到下面的比较DB3.DBD14就又变成那种数字了,郁闷。。。。。

追答

我树立了,你看看其他地方是否用了这个地址了。你换个地址,没有用过的试试

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-02
你的 DB 数据类型 是 浮点数 改一下 就应该好了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网