我想在WINCC里设置一个I/O域控制电动机的转速,那么输入一个数字(如1400转),电机用变频器驱动,就按这个速度转。我用PLC的模拟量输出AO接到变频器的3、4端子。问题就是我怎么把这个WINCC给的数字量转换为模拟量了再送到AO口?直接把内存里面的值送过去可以吗?是不是内部已经转换好了?如果是内部已经转换好了,那么我想0-1400转对应0-10V模拟输出怎么整?等待前辈,小弟刚上手,学生
最佳答案
1.需要使用FC 106 UNSCALE功能接收一个以工程单位表示、且标定于下限和上限(LO_LIM和HI_LIM)之间的实型输入值(IN),并将其转换为一个整型值,将结果写入OUT。
2.UNSCALE功能使用以下等式:OUT = [ ((IN-O_LIM)/(HI_LIM-O_LIM)) * (K2-1) ] + K1,并根据输入值是BIPOLAR还是UNIPOLAR设置常数K1和K2。BIPOLAR:假定输出整型值介于 ?7648和27648之间,因此,K1 = -27648.0,K2 = +27648.0UNIPOLAR:假定输出整型值介于0和27648之间,因此,K1 = 0.0,K2 = +27648.0,你也可以根据上面公式,自己编写程序。
我上传了张图,请参考。
在WINCC里I/O域的电动机转速对应MD100,0-1400转对应PQW256 0-10V模拟输出。
图片说明:
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc241001.html