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

相关推荐
ChaITSimpleLove2 小时前
Etl.Net 2.2.0 项目深度分析
数据仓库·.net·etl·大数据处理·数据管道·数据处理引擎
zhangjin12221 天前
DataX从入门到精通 第1课 ETL之DataX 安装DataX
数据仓库·etl·datax·datax安装教程
zhangjin12221 天前
DataX从入门到精通 第2课 ETL之DataX 安装datax-web
数据仓库·etl·datax·datax-web·datax-web安装教程
虎妞05001 天前
现代数据工程:从 ETL 到 ELT 的架构演进
大数据·etl·数据工程·elt·数据管道
zhangjin12221 天前
DataX从入门到精通 第3课 ETL之DataX datax-web单表数据同步
数据仓库·etl·datax·datax-web·datax单表同步
涤生大数据3 天前
从 ETL 到 Agent:AI数据工程如何搭建企业级“数据工厂“
数据仓库·人工智能·etl
l1t3 天前
DeepSeek总结的 waddler,一个 Go 语言编写的从 YAML 文件运行的 ETL 管道
开发语言·golang·etl
Cthy_hy4 天前
浏览器市场分析——数据大屏动态数据接入
信息可视化·etl·数据可视化
RestCloud9 天前
从架构师视角看ETL工具选型:如何构建可演进的数据集成平台
数据仓库·etl·cdc·数据处理·数据传输·elt