遇到过这样一个项目。要做一个液压加载测试台,要求液压缸的加载力是一个半正弦波形,且波形之间要有一定的时间间隔。因为涉及到数据采集,刚开始是用labview做的,但用的操作系统不是实时系统,导致波形的周期不能满足要求。求助后得知一般都是采用单片机实现的,自己不懂单片机,一时陷入困难境地。
因为自己对PLC熟悉,就想着能不能用PLC来实现这个功能。项目中也用了一个1200PLC.在查找资料过程中,就发现了西门子的LGF库,在LGF库中,有SIN和COS功能块。在官网找到这个库文件,导入博图,开始测试这个功能块。
根据资料说明配置功能块。为了保证波形周期,J将SIN功能块放到使用循环中断OB30中,并根据项目需要设置循环时间。



程序写好后,就是测试了,先用模拟功能测试,并使用博图的Trace功能监控生成的波形


模拟没问题后,采购模拟量输出模块,再将程序导入现场PLC中调试。一直在用PLC,却忽视了PLC其实也是一个实时运行系统。
西门子的LGF库内有丰富功能块,都是经过西门子测试过的,省事好用。