2026/5/20 23:34:10
网站建设
项目流程
我司网站改版上线网站建设,内江做网站,内网网站开发,ui设计不要30岁的西门子FB284伺服v90profinet程序西门子触摸屏程序#xff0c;新能源行业自动排列机#xff0c;真实项目#xff0c;V90 走PN 口控制4轴#xff0c;自己写的RFID读写FB SCL和西门子运动控制FB块开放#xff0c;直接复制可用#xff0c;没有密码#xff0c;详细注释新能源行业自动排列机真实项目V90 走PN 口控制4轴自己写的RFID读写FB SCL和西门子运动控制FB块开放直接复制可用没有密码详细注释轴状态全解析报警代码全解析RFID 读写MES 通讯SCL 语言CAD电气图刚搞完一个新能源行业的自动排列机项目用的是西门子1500PLC带四台V90伺服走Profinet通讯。这玩意儿最大的坑不是程序本身而是怎么让硬件组态和实际动作对上号。给你们看看我的硬件配置清单//V90 PN伺服驱动配置 DeviceName : V90_1; IP地址 : 192.168.1.10; 轴类型 : 位置轴; 报文类型 : 报文3; //其他三台依次递增IP和轴号轴配置这块必须上FB284函数块西门子的标准运动控制库确实好用但不够灵活。我自己魔改的版本加了个急停连锁//轴使能逻辑魔改版FB284 IF #急停信号 OR #硬限位触发 THEN #MC_Power.Enable : False; #轴状态 : 16#8000; //自定义故障代码 ELSE #MC_Power( Axis : Axis1, Enable : True, Status #轴使能状态); END_IF;RFID读写模块是拿SCL硬刚的重点在于处理字节流。注意这个ANY指针的用法亲测支持RF610T读写器//RFID数据块读写核心代码 #pData : PEEK(area : 16#87, //DB存储区 dbNumber : #参数块.DB号, byteOffset : #数据偏移, dest : ADR(#临时缓存)); CALL 数据校验( 输入数据 : #临时缓存, 校验结果 #校验通过);报警处理必须做成可追溯的我直接建了个全局报警字典//报警处理逻辑 L #当前错误代码 T #报警缓冲区[#报警指针] INC #报警指针 L 50 //缓冲区大小 MOD T #报警指针MES通讯最头疼的是JSON解析用西门子自带的库函数处理起来像便秘。最后自己写了个字符串分割大法//解析MES下发指令 #指令头 : MID(IN : #接收数据, LEN : 4, POS : 1); IF #指令头 MOVE THEN #目标位置 : REAL_TO_DINT(STRNG_TO_REAL(MID(#接收数据,8,4))); #运动速度 : REAL_TO_DINT(STRNG_TO_REAL(MID(#接收数据,13,3))); END_IF;电气图纸有几个关键点必须注意Profinet节点必须严格按设备顺序排列24V电源必须给每台V90单独拉线编码器反馈线要做屏蔽层接地。最后调试时发现个邪门问题——伺服使能后触摸屏会闪屏结果查出来是接地环路干扰给PLC柜加了个隔离变压器才解决。项目文件结构长这样/PLC程序/RFID处理含读写失败重试机制/轴控程序带扭矩限制功能/报警历史支持导出CSV/MES接口心跳包断线重连/电气图纸主回路图注意急停回路双通道设计Profinet拓扑图柜内布局图散热风扇位置很重要代码里埋了不少彩蛋比如轴故障时触摸屏会弹出带故障坐标的动画示意图这个是用WinCC的C脚本画的。还有个隐藏的调试模式——同时按住触摸屏左上右下角5秒能进实时曲线监控界面。最后说个血的教训V90的Profinet报文配置改完后必须重新下载硬件组态光改程序块卵用没有。有次现场调试忘了这茬硬是折腾了两小时才发现问题。现在我的工具箱里永远备着根交叉网线谁知道哪天交换机又抽风呢