显示Vision模块
安装EtherCAT驱动
安装TwinCAT网卡驱动
选择相机网卡,并点击右侧Install,完成安装。
有时安装后(有的电脑)在for demo use only,有时安装后(有的电脑)在realtime capable,不知是何原因。第一种情况貌似是后面不出现Online(失败)的原因,待考证。
选择对应的网卡
搜索相机
显示为Online即表示连接成功
重启后,有时需再次确认相机
编写PLC程序读取摄像头
PROGRAM MAIN
VAR
hr : HRESULT;
fbCamera : FB_VN_SimpleCameraControl;
eState : ETcVnCameraState;
ipImageIn : ITcVnImage;
ipImageInDisp : ITcVnDisplayableImage;
END_VAR
eState := fbCamera.GetState();
CASE eState OF
TCVN_CS_INITIAL, TCVN_CS_OPENING, TCVN_CS_OPENED, TCVN_CS_STARTACQUISITION:
hr := fbCamera.StartAcquisition();
TCVN_CS_ACQUIRING:
hr := fbCamera.GetCurrentImage(ipImageIn);
…….
hr := F_VN_CopyIntoDisplayableImage(ipImageIn, ipImageInDisp, hr);
TCVN_CS_ERROR:
hr := fbCamera.Reset();
END_CASE
生成PLC程序。
相机和PLC映射
系统配置
内存分配 SYSTEM > Real-Time > Settings > Router Memory (Mbyte).
CPU核分配:SYSTEM > Real-Time > Settings
Read from Target ,左侧3表示共享核,右侧1表示单独核,把视觉的Task置于单独的核中,设置好后Set on target,重启生效。
Floating point exceptions 取消勾选;Watchdog stack勾选。
设置网卡,仅保留图中所示的TwinCAT Ethernet Protocol和IPv4。
Promiscuous Mode (use with Wireshark only) 取消。
若出现如下提示,点击否:
- 注意:不要更改VnTaskADS和VnTaskImgAcq任务的周期
Taks添加job task,并设置如下: