接收一个模拟量,转化为等时长的开出

一共两路开出DO1和DO2,单次开出最长3秒。
每次新接收到一个遥调量,例如数值为 -10.5,负号用于驱动开出DO2,如果是正号,驱动开出DO1。数值10.5转化为3个时长3秒的开出,和一个1.5秒的开出。
如何编写程序呢,想的脑壳疼,求大神指导

问题补充:
遥调量-10.5中的10.5,将被理解为10.5秒,然后换算为同等时间长度的开出,单次开出的时间最长为3秒,所以需要3个3秒的开出,外加一个1.5秒的开出

最佳答案

1、先判断这个数是正负,这个应好弄,进行比较么,先判断出来输出DO1还是DO2
2、对这个数取绝对值,然后整数除3,判断输出几个3秒的信号,然后整数除的结果转浮点数,乘以3,然后拿10减去这个数,就是最后的脉冲的时间

3、这个3秒的脉冲中间间隔多长时间啊?

我做个间隔1秒的程序试试

补充:
附图程序,应该是能满足你的要求,我仿真测试没问题
程序可能还能优化,你自己再看看逻辑吧….

图片说明:

接收一个模拟量,转化为等时长的开出  接收一个模拟量,转化为等时长的开出  

提问者对于答案的评价:
您的细心回复和实例展示,小弟不胜感激。
如果方便,还请将实例以及联系方式发送给小弟学习观摩。
邮箱:306837666@qq.com
小弟必双手奉上《红包》以表谢意!

最佳答案作者回复:
图上的程序已经完整了啊,你照着图编写看看就好了

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日 下午6:21
下一篇 2020年10月30日 下午6:21

相关推荐

发表回复

登录后才能评论