SD卡旁边有个按钮,按下按钮之后SD卡断电,并且需要取出SD卡重新安装或者断电重启 plc 才能上电。
电源模块和 plc 是可以分开的
这是电源模块
这是 plc
NJ-PA3001,NJ-PD3001供电电压不一样。
LG和GR是接地,LG是三类接地(独立接地),主要是防止干扰和电击。
GR也是第三类接地(独立接地),作用是防止触电。
Sysmac Studio 在线后可将SD卡中的文件复制出来。
数组
结构体
结构体可以嵌套,最多八层。
联合体
枚举体
例
Timer响应时间快精度低,Ton响应时间慢精度高。设定时间的格式稍有区别。
获取时钟脉冲,没有触发条件的定时器,前缀为Get,后缀为Clk的功能,如Get100msClk。
需要输出参数的内存能够容纳输入参数,否则不能转换,会报错。
MOVEBit传一个位
传多个位
memcopy数组传送多个元素到另一数组
例如sub指令不支持time类型,可以换成sub_time指令。
如下例子为角度转弧度的自定义功能。
自定义功能块
下面的案例为周期脉冲
ST语言中时间应表示为 “T#10s"或"time#10s”,直接写“10s”无法识别。类似的还有时刻、字符串。
点击任务设置,程序分配设置,点击 + 号,将ST程序加入任务,再点击运行即可。
启动伺服
例
伺服点动,positive和negative同时触发时是正向优先,但若是一前一后触发,则是后触发的执行。
伺服点动要先启动伺服。
Velocity的单位:与轴设置的单位一致。
停止伺服
寻找原点,伺服回到原点并且停止。
绝对移动,需要先吧轴停掉,否则会报错
速度控制,MC_MoveVelocity修改速度(Velocity)要先停止,重新触发才会生效。运行MC_MoveVelocity要先吧轴停掉,否则会报错。
MC_SetOverride无需重新触发也能生效,且不会冲突。enable信号保持就能生效,enable信号断开则速度变回原样。
例:下面程序X轴的原速度为100,将VelFactor设置为120,速度变为120。
Execute只采集上微分,MC_Stop、MC_Home、MC_MoveRelative 使用的是execute触发条件。
Enable需要一个常on的信号才能一直工作,信号为off时就会停止。
MC_TorqueControl需要先停止轴再启动。
MC_TorqueControl拧螺丝的问题,达到设定的最大力矩的时候会立马减小力矩,导致螺丝可能拧不紧。拧螺丝拧到底后需要保持最大力矩一段时间。
解决办法,使用MC_SetTorqueLimit 限制扭矩,加上定时器控制时间。
例
pos_b是一个数组,有几根轴就要设置几个元素,和轴组设置对应。
运行结果
2. 进行配置
编辑PDO映射,按照如下设置。
3. 新建轴,按照如下配置
详细配置如下,如果详细设置里面想要的参数无法设置,可能是PDO映射中的输入输出没有包含该参数。
单位换算设置,电机转一周的行程可以选择不同单位,23位编码器2^23次方个脉冲转一周,也就是8388608份。
操作设置,将数值改小,不报错即可
位置计数设置,选择绝对值编码器可以断点保持,增量编码器断店不保持
主从轴都伺服on。
用MC_MoveVelocity启动主轴。
启动MC_CamIn。主轴设置循环模式,启动主轴再启动从轴,由于设置了StartMode,从轴会等到主轴到达StartPosition(0)再启动。
回到原点,启动从轴再启动主轴,由StartPosition设置与主轴位置相符,主轴和从轴会一起开始运动。
一般都先启动CamIn再启动主轴。
单个跟踪可以跟踪on、off的bool量,连续跟踪主要跟踪连续变化的数值。
此处SrcDat为要读入的变量,若nx_data为数组,不能直接传入nx_data,要传入nx_data[0],才能被识别,DstDat同理。