在我的一个小项目中准备做如下工作: PLC做PID调节,采样时间为100MS,然后把频率通过自由口通讯分别发送给两台变频器(一台收卷变频,一台放卷变频,做收放卷恒张力控制,原来采用EM232的模拟量给定方式), 之前没有实际做过这方面的工程(只是自己随便写了些程序),通讯过程大致如下:
变频器采用Modbus RTU模式,每一帧有8个字节; 又因为Modbus需要帧头和帧尾都到少停留3.5字符时间. 故每一帧有 8+3.5*2=15个字符, 通讯格式为8位数据位,1位启始位,1位停止位,1位偶校验位, 故每个字符为11 bit ; 故每一帧为15*11=165 bit ; 我决定自由口模式的通讯波特率为19.2K , 则发送一帧需要的时间为 165/19.2= 8.59375 毫秒 , 为了避免通讯冲突, 我在发送完一帧后再接收,当接收完成后再接着发送第二帧, 所以对于两台变频器每完成一次收发信息过程需要的时间为 8.59375*2*2= 34.375 毫米
现在想来有些不大明白的地方如下:
在编程的时候,通讯块里有一个设置项为

在帮助文件中做如下说明:您可以配置专门用于处理与 RUN(运行)模式编辑编译或执行状态监控有关的通信处理所占的扫描周期的时间百分比。增加专门用于处理通信的时间百分比时,亦会增加扫描时间,减慢控制过程的运行速度;
专门用于处理通信请求的默认扫描时间百分比被设为 10%。该设置为处理编译/状态监控操作同时尽量减小对控制过程的影响进行了合理的折衷。您可以调整该设置,每次增加 5%,最大为 50%。
我大致理解如下:若每次扫描程序的时间为9毫秒,且设定该参数10% ,那么系统扫描周期为10ms,且每一个扫描周期内会拿出1ms的时间来处理通讯? 如果是这样,则对于我的这个项目,进行一次完整的收放信息需要时间为34.375*10 =343.75毫秒 ,那么我的PID采样时间为100ms根本就没有意思,采样时间应该设置为比343.75ms要大才对。 可是这样实时性又根本不能满足。
不知这样理解对不对!? 我总觉得不大对劲似的,请做过的大虾给指点一下,谢谢!