omron欧姆龙NJ/NX程序 欧姆龙NJ501-1300,欧姆龙NB系列触摸屏,分布式总线控制

omron欧姆龙NJ/NX程序 欧姆龙NJ501-1300,欧姆龙NB系列触摸屏,分布式总线控制,CJ1W-DRM21模块通信主从站控制。 全自动马达电机组装机,整机采用EtherCAT总线网络节点控制, 欧姆龙R88D系列总线伺服,发那科机器人网络通信控制,CCD视觉位置控制,压力控制。 机器人与伺服轴模组速度位置同步控制功能。 等等 触摸屏产量统计功能,触摸屏在线修改账号功能。 涵盖人机配方一键换型功能,故障记录功能,st+梯形图编写,注释齐全。 #Omron/欧姆龙

最近在调试一套全自动电机组装设备,用到了欧姆龙NJ501-1300控制器搭配R88D总线伺服,顺手记录几个有意思的技术点。这系统最带劲的是用EtherCAT总线把20多个轴捆在一起玩同步,机器人、视觉和压力检测全往总线上挂,比传统脉冲控制利索多了。

先说总线配置,NJ控制器作EtherCAT主站时,轴参数配置直接上结构体:

structured_text 复制代码
AxisConfig : ARRAY[1..24] OF ST_AxisConfig;
AxisConfig[1].iSlaveNo := 1;  //R88D伺服节点
AxisConfig[1].fGearRatio := 10.0;
AxisConfig[1].iDirection := -1;  //电机转向

这配置块里藏着伺服的核心参数,尤其是电子齿轮比设置。之前有个坑,机械工程师给的减速比是10:1,结果忘了这里还要乘上伺服自带的减速比,导致同步运行时直接干废了俩联轴器...

速度位置同步是重头戏,用ST写的双轴追标程序:

structured_text 复制代码
MC_Power(Axis:=Axis1, Enable:=TRUE, Status=>stPower);
MC_GearIn(Master:=RobotAxis, Slave:=ServoAxis, Ratio:=1.0, Absolute:=FALSE);
IF VisionOffset <> 0 THEN
    MC_MoveRelative(ServoAxis, VisionOffset, 100.0); //视觉纠偏
END_IF

这里用了欧姆龙的MC函数库,注意GearIn指令的Ratio参数实际是速度比例系数。调试时发现当主从轴减速比不同时,这个系数要反向计算,比如机械总减速比是5:1,这里反而要填0.2。

触摸屏在线改账号这功能挺实用,NB系列HMI的脚本有点意思:

vbnet 复制代码
Sub ChangePassword()
    If CurrentLevel = 3 Then  //工程师权限
        UserDB(SelectedID).Password = NewPass 
        WriteToPLC("D100", UserDB)  //直接写PLC数据块
    End If
End Sub

但要注意密码字段得做异或加密,之前直接明文传输被甲方安全审计抓包。现在改成:

structured_text 复制代码
EncryptedPass := STRING_TO_BLOCK(UserPass) XOR 0xA5A5;

配方换型功能用结构体数组实现挺合适:

structured_text 复制代码
TYPE T_Recipe :
STRUCT
    fSpeed : REAL; 
    iCount : INT;
    sMaterialCode : STRING(16);
END_STRUCT
VAR
    RecipeDB : ARRAY[1..10] OF T_Recipe;
    CurrentRecipe : T_Recipe;
END_VAR

换型时直接整块数据搬运:

structured_text 复制代码
CurrentRecipe := RecipeDB[iSelectedIndex];

比单个变量赋值快得多,特别是当配方参数超过50个时,用结构体直接memcpy是真香。

最后说个故障记录的坑点,时间戳处理要小心:

structured_text 复制代码
FaultLog[iLogIndex].tTimestamp := NOW(); //获取PLC当前时间
FaultLog[iLogIndex].iErrorCode := iActiveError;
iLogIndex := iLogIndex MOD 100 +1;  //循环存储

原本用DATEANDTIME类型存时间,结果触摸屏解析时卡成狗。后来换成Unix时间戳格式,HMI端用脚本转换,流畅度直接起飞。

这套系统最爽的是在线修改功能,EtherCAT总线热插拔确实给力。上周现场改视觉定位参数,直接在线更改变量偏移量,设备愣是没停机就把活干完了,甲方老头儿看得直瞪眼。不过总线拓扑结构得提前规划好,别像我第一次布线时把视觉控制器接在伺服节点后面,信号延迟差点让同步精度翻车...

相关推荐
RestCloud3 天前
零售行业全渠道数据整合:ETL工具如何支撑精准营销?
数据仓库·etl·零售·数据处理·数据集成·数据传输·数据同步
RestCloud6 天前
TiDB 混合负载场景下的 ETL 与 CDC 实践
数据仓库·tidb·etl·cdc·数据同步·数据库传输
RestCloud7 天前
2026年数据集成三大趋势:从批处理到实时事件驱动
ai·etl·cdc·数据传输·数据同步·数据集成平台·集成平台
xiaogai_gai8 天前
金蝶云星空API接口的ETL转换与数据写入方案
数据仓库·etl
Gauss松鼠会8 天前
【GaussDB】浅谈SQL与ETL
数据库·数据仓库·sql·etl·gaussdb·经验总结
Leo.yuan9 天前
告别DataX和Kettle:FineDataLink如何实现数据同步+ETL+治理一体化?
数据仓库·etl
算.子12 天前
【Spring AI 实战】六、RAG文档 ETL 实战:PDF/Word/Markdown 解析与文本分割
人工智能·spring·etl
RestCloud12 天前
流式优先数据架构:从批量ETL到事件驱动架构的演进之路
数据仓库·etl·cdc·数据处理·数据集成·数据传输·数据同步
RestCloud14 天前
制造业供应链实时数据集成:从T+1到T+0的架构落地实录
架构·etl·数据同步·数据集成平台
callJJ14 天前
Spring AI ETL 数据处理管道实战指南:从原始文档到向量索引
java·人工智能·spring·ai·etl·spring ai