我现在在PLC中定义了一个DB3的数据块,然后想要用wincc控制这个DB3中的某一个值,比如说DB3.DBD14这个值,现在wincc里面定义一个外部变量,无符号的32位数,然后将wincc的I/O口域关联到这个变量,都是10进制的数,运行的时候我在I/O口域输入一个数据比如100.但是在DB3.DBD14中显示的却是
这是什么情况。
弄好了,但是还有一个问题,当我输入这个值得时候,比如说我输入了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里还有其他变量连接到这个地址吗?你查查。
追问这个是传送之后的显示在step7中的
这个是设置的变量
这个是DB模块里面的设置
这个是I/O口域
你把IO换成输入。更新周期换成500毫秒都可以
追问还是不行啊,我先用I/O口域传送给一个MD,然后用MOVE指令传送给DB3.DBD14,显示的是OOb4,之后到下面的比较DB3.DBD14就又变成那种数字了,郁闷。。。。。
追答我树立了,你看看其他地方是否用了这个地址了。你换个地址,没有用过的试试