我有一个关于与beckhoff的CP6606进行串行通信的问题。我正在使用Twincat 3版本4022.16与HMI上的Windows CE 7 compact结合使用。我已经安装了所有许可证。
对于学校,我必须使用Sick CLV 610条形码扫描仪集成一个拾取和放置。(RS232)首先,我需要用字符串“K”触发扫描仪。然后扫描仪将扫描并返回扫描结果。为了停止扫描,我将字符串“I”写入设备。
我将扫描仪连接到CP6606上的Onboard Com1上。 我在twincat 3中使用以下配置:Config scanner。使用RS232是否可以,或者我应该使用RS485来完成这项工作?我的仿真模式是对的吗?
我使用了2个任务。 1个标准任务和一个快速任务。快速任务将数据从硬件放入缓冲区。标准Task处理缓冲区中的数据。可以在此处找到快速任务的配置:FastTask
在我的快速任务程序中,我使用了这个功能块:FB_SerialLineControl
为了发送我的触发器“K”,我使用以下2个功能块:SendReceive。 sSerial_SendText包含字符串“K”,在超时2秒后,将使用字符串“I”来停止进程。
我的程序中没有任何错误。触发器不会到达扫描仪。我无法找到适用于Windows CE 7.0的任何Com端口分析器(仅5.0和6.0)。我的IO配置与Com设备似乎有问题。
运行时版本是否会影响此问题?在我的电脑上,我使用twincat 3 v4022.16(最新版本),而CP 6606则使用版本4022.2。
我用一个名为“putty”的程序测试了硬件。当我在键盘上按“K”时,扫描仪工作并在终端中显示代码。
我使用名为“终端CE”的程序进行了相同的测试(与putty相同,但对于Windows CE而言)。测试也是成功的,所以我认为问题不在于硬件,而在于软件。
您可以在此链接上找到此项目的源文件。 https://drive.google.com/file/d/1UjvCwl1u3sF9GF553zxO4dvl6VLIRLQx/view?usp=sharing
我希望有人可以帮助我。 提前谢谢!