设备:

IP: 192.168.1.3

Ethernet0 【eth1】以太网接口(千兆网口),默认 IP:192.168.1.3

Ethernet1 【eth3】以太网接口(百兆),默认 IP:192.168.5.11

Ethernet2 【eth2】以太网接口(百兆),默认 IP:192.168.11.11 

EthernetCAT 【eth0】以太网接口(百兆),默认 IP:192.168.33.11

库:   SMC_Controller    全局变量   GVL_mPLC_SMC_User (GVL)

IO:

使用io必须满足以下条件:

1添加库 SMC_Controller 

2设备添加  T_Mrg

3添加FB块 NET_IO_Cmd                // 用于刷新io状态

4设置 out[ ]  状态                           // GVL_mPLC_SMC_User全局变量内out是输出

         SMC632E 控制器本地输入全部为光电隔离,支持 24V 电平输入,12 路通用输入 IN0-IN11, 其中 2 路高速输入 IN10-IN11。

        本地输出全部为光电隔离,12 路通用输出 OUT0-OUT11,其中4 路高速输出 OUT8-OUT11【脉冲频率500KHz】,支持 24V 负载。

默认情况高速输入是普通输入,通用输入输出都可以在 SMC_Controller 库中的全局变量 GVL_mPLC_M606_User 找到【    GVL_mPLC_SMC_User 】。

        注意,程序中若涉及 IO 操作必须添加 SMC_Controller 库中的 NET_IO_Cmd 硬件 IO 处理模块,否则操作 IO 不会生效。 

out【0】是DO0点位

NET_IO_Cmd   是为了刷新io的状态。

 全局变量直接用就行。用原版codesys,需要从雷赛软件内导出该库。【移植】

掉电保持64K:

shift  +  F2    唤出助手                【对象】创建

ARRAY[1..64] OF byte 

手轮接口DB9:

设备必须添加  T_Mrg

接1200脉冲编码器,转一圈显示 ±4800【默认4倍频】

HandWheel_SetWorkMode    0是四倍频计数, 1是AB计数

                 当SetWorkMode = 1时,接1200脉冲编码器,转一圈显示±1200 

SMC632E 上的手轮编码器接口采用 DB9 母头,其中包括脉冲输入信号 A+、A-、B+、B- 以 及往外提供 5V 电源,脉冲接线方式支持差分和共阳接法。

HandWheel_AsEncoder_GetVal        手轮编码器值

HandWheel_AsEncoder_SetVal

---------------------------------------------

HandWheel_SetWorkMode     手轮工作模式:0 四倍频计数(AB 相),1 AB计数

HandWheel_SetAxisMove         单轴运动:手轮--->到轴的运动

HandWheel_SetAxisMove1         单轴运动:手轮--->到轴的运动【带方向】倍率值(0.001<=10000)

RS485:md9母

默认站号8,【9600,8,N,1】 

该功能块由 库文件“SMC_Communication”提供

Modbus RTU 协议通讯:Task_RS485   【程序中要调用】

MD9母座

SMC632E 控制器的 RS485 串口支持 MODBUS RTU 协议,可以和任何支持标准 MODBUS RTU 协议的外设进行数据交互。控制器作为协议的从站,站号固定为 8。

RS485_Open         配置 485 接口参数并打开 485 端口

RS485_Write         485 端口发送数据

RS485_Read         485 端口读取数据

RS485_Close         关闭 485 端口

Task_RS485        设置 485 通讯端口参数,并处理 Modbus RTU 协议

RS232

默认 站号为 8,【115200、8,偶e,1】

用 RS232_Set 来修改参数,该设置指令上升沿有效,设置完成后立即生效。

 该功能块由库文件“SMC_Communication”提供,程序中用到 HMI 功能的时候需要在程序添加该库文件

Set_M,Reset_M,Set_ByteToM,Set_DWS,Set_DWU,Set_DDS,Set_DDU,

Set_DR,Set_DS

恢复出厂:

在 SMC632E 顶部拨码开关的旁边,有一个嵌入到控制器内部的复位按钮,是用来实现控 制器恢复出厂设置的按钮,通过该按钮可以清除控制器内部的程序、清除掉电保存变量、复位 至默认的 IP 地址。 当控制器需要进行恢复出厂设置时,请按住复位按钮,然后给控制器上电,约 10 秒后控 制器蜂鸣器会连续响三声,此时可以松开此按钮,控制器执行复位操作,待三秒后控制器复位 完毕,继续执行后续操作。

ECAT总线:

CODESYS SoftMotion 4.6.3.0.package 

eth0        网口3,ECAT      

eth1        网口0【千兆】192.168.1.3

eth2        网口2

eth3        网口1 

添加  M_Trg  用于本体io控制

总线周期时间(Cycle Time):支持 250us、500us、1ms、2ms、4ms 总线周期 (根据总线控制器所带的负载而定),用户根据连接从站数量的多少选择合适的总线周期;

同步偏移(Sync Offset):该值配置范围为 1~50,采用默认设置(默认值为 1)。该参数 推荐值为 1 和 20。

IoDrvEtherCAT          总线操作【复位  /  停止】

ETCSlave_Diag         从站伺服【复位】

SMC3_ETC_ReadParameter_CoE         SDO 读服务

SMC3_ETC_WriteParameter_CoE         SDO 写服务

     X.bSWLimitEnable 软限位使能

        X.fSWLimitDeceleration 软限位减速度

        X.fSWLimitNegative 软限位负极限

        X.fSWLimitPositive 软限位正极限


//拔掉EtherCAT从站的网线,让总线报错
CASE istate OF
    
1://复位总线
    EtherCAT_Master_Leadshine.xRestart := TRUE;
    istate := 2;
2://延时,等待总线复位完成
    iDelay:=iDelay+1;
    IF iDelay>1000 THEN
        iState:=3;
        iDelay:=0;
    END_IF    
3:
    EtherCAT_Master_Leadshine.xRestart := FALSE;
    istate := 5;
    
END_CASE

EtherCAT_Master_Leadshine();


ACT_Init();
ACT_Move();
ACT_Power();
ACT_Reset();
 

性能:

电源:

高速io输入:

HighSpeedLatch_SetPara         设置高速锁存参数 

HighSpeedLatch_GetState         读取高速锁存状态

HighSpeedLatch_Axis_Pos         获取高速锁存的位置

锁存的位置保存于 SMC_Controller 库中 GVL_mPC_M606_User 全局变量列表的 HighSpeedLatch_Axis_Pos 数组 中 , 如 HighSpeedLatch_Axis_Pos[0] 表 示 通 道 0 ( In10 为 通 道 0 ) 的 高 速 锁 存 值 , HighSpeedLatch_Axis_Pos[1]表示通道 1(In11 为通道 1)的高速锁存值。

高速io输出: 

 CMP0--------- OUT10

 CMP1--------- OUT11

电路使用的光耦频率可达 200KHz。每个 CMP 输出端口只能与手轮(手轮可以当编码器使用) 关联。支持“等于”、“小于”、“大于”比较模式为单次比较模式。“队列”模式提供 127 个比较点,采用先添加先比较,比较完可追加比较点,也可一次性添加多个比较点。“线性”模式适 用于每个比较点位置都是按照线性增量依次增加的情况,用户只需要设置起始比较点位置以及 线性增量值即可,非常方便。位置间时间间隔最小可达几微秒。

注 意: (1)每个比较器的位置比较都是独立进行的。

             (2)在队列及线性比较模式中,执行位置比较时,每个比较点的触发是按照添加的比较 点顺序执行的,即如果有一个比较点没有被触发比较动作,那么后面的比较点是不会被触 发的。

CMP_ClearPara        清除比较器的参数,清除掉所有状 态值,包括比较位置,FIFO 数据等

CMP_GetCurState        获取比较器当前状态

CMP_GetLinearPara        获取 Linear 模式下参数

CMP_GetWorkPara        获取比较器的参数

CMP_SetCmpPos        设置/更新比较器比较位置,在线性 模式下,更新起始比较位置;

CMP_SetFIFOPos        设置 FIFO 模式下比较位置,用于在 FIFO模式下,同时写入多个位置点, 最多可以输入 128 个比较点;

CMP_SetLinearPara        设置 Linear 模式下参数

CMP_SetWorkPara        设置比较器,有 6 种工作模式:0-不工作;1-值等于比较; 2-值小于比较;3-值大于比较器;4-FIFO 模式;5-Linear 模式【线性比较】。

PWM:

PWM_SetVal         参数1【多少Hz】参数2【占空比%】 

 

文件操作:

SMC632E 运动控制器支持内部文件操作、U 盘文件传输、用户参数配置文件传输,方便用 户更好地实现上传下载文件功能。控制器内部提供 UsrData 和 UsrConfig 两个文件夹,一般情 况下建议用户将系统类的参数文件存储在“UsrConfig”文件夹内,工艺类的文件存储在“UsrData” 内。能够对文件进行写入、读取、拷贝、重命名、删除、获取文件信息等操作。

时间:

Get_DateAndTime                 获取控制器系统时间 具体参数见附录 A-1.2.11 系统时 间库 Get_DateAndTime_1                 获取控制器系统时间

Set_DateAndTime                 设置控制器系统时间

Set_DateAndTime_1                 设置控制器系统时间

TCP:

modbusTCP:

Task_EtherNet_ModbusTCPIP         在程序中,该 模块只能调用一个。 

Task_EtherNet_ModbusTCPIP_FB  在程序中,该 功能块需要实例化,可以调 用多个。

TCP_SetClient        连接

TCP_SetServer1                 设置服务器

TCP_ReadData        读数据

TCP_WriteData       写数据 

修改IP

补充

《雷赛 SMC IEC Studio 基础指令手册》

《雷赛 SMC IEC Studio 使用手册》

《雷赛 xxx 系列运动控制器(IEC 版)编程手册》

《雷赛 xxx 系列运动控制器(IEC 版)用户使用手册》

《雷赛 xxx 系列运动控制器(IEC 版)运动指令手册》

《雷赛 IEC 系列控制器入门指引实操手册》 

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐