zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 397 个
工控威望: 546 点
下载积分: 1535 分
在线时间: 334(小时)
注册时间: 2017-06-12
最后登录: 2025-05-19
查看zmrs163的 主题 / 回贴
楼主  发表于: 4天前
1、同样的程序用循环实现更快,可以缩短扫描时间。
实际上你简单复制修改,程序可能比循环实现快很多,FOR,NEXT指令本身也要花费一定的时间,如果使用子程序,那么本身其调用也是不小的开销。所以实际上用循环实现几乎一定慢于简单的复制粘贴,只是你人写起来更快了。
2、总线型伺服比脉冲型伺服反应快
总线涉及总线周期,每个周期PLC向伺服下发指令位置,周期快一点的在几十上百微秒,慢的在几毫秒,像西门子PLC甚至还细分出了PLC执行插补器之类程序的扫描周期。伺服接收脉冲则快很多,中间只有电路转换延时,所以实际必然比总线型快。
3、PLC配千兆网口比百兆更快
简单来说由于一般PLC性能实际上很难跑满百兆网口,所以PLC网口只能在很短的时间保持100M,然后要等待PLC提供数据。所以实际响应速度要看PLC的服务处理时间以及其中断响应。所以带宽在这种情形下参考意义有限。同理千兆总线不一定比百兆总线快,实际上工业上网络需求响应性要求比带宽要求更高。
本帖最近评分记录:
  • 下载积分:+1(麦克朱) 好贴好贴!
    zmrs163
    级别: 家园常客
    精华主题: 0
    发帖数量: 397 个
    工控威望: 546 点
    下载积分: 1535 分
    在线时间: 334(小时)
    注册时间: 2017-06-12
    最后登录: 2025-05-19
    查看zmrs163的 主题 / 回贴
    1楼  发表于: 2小时前
    PLC程序的编译优化和C的完全不能比,三菱的我测试了下最简单的赋值语句用循环和直接复制程序的方式,时间差了好几倍,不排除其他品牌的编译优化能力强于三菱。但是一般来说,编译优化大部分无非是一些运算放到编译时完成,如果你的程序循环包含了大部分这种内容,我觉得是你的代码需要自己优化了
    引用
    引用第5楼刺猬果果于2025-05-17 13:00发表的  :
    FOR和子程序这些在编译器编译的时候就生成了代码优化,不一定还是你看到的FOR,速度差异基本忽略
    zmrs163
    级别: 家园常客
    精华主题: 0
    发帖数量: 397 个
    工控威望: 546 点
    下载积分: 1535 分
    在线时间: 334(小时)
    注册时间: 2017-06-12
    最后登录: 2025-05-19
    查看zmrs163的 主题 / 回贴
    2楼  发表于: 2小时前
    总线型优势在于时钟同步之后,可以在上位机进行滞后量的补偿,同时轨迹在上位机进行规划控制精细,而很多PLC脉冲只是提供了简单的点对点定位功能。与其说是快,更不如说是精确同步,总线的抖动基本都在微秒级别。如果是外部信号触发伺服动作的情况,脉冲是有可能更快的。
    引用
    引用第4楼15811806196于2025-05-17 10:57发表的  :
    关于总线型伺服比脉冲型伺服反应快的问题,我去年一直感到很疑惑,我个人认为脉冲的直接响应时间应该是要快于总线的,奈何找了好多资料又问了各种AI都说总线比脉冲响应快,也是给我整迷糊了