找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
二丶补充:扫码器用串口通讯助手测试过,测试结果如图。扫码器已配置完毕。扫码器之前用在1200上可以用,现在想用在200smart上。
三丶提问:我的目的是实现接收扫码器扫的条形码信息,如:WRPBM127。我想知道如果通讯成功,条形码的信息存储的位置。
四丶提问:我不太理解First_Scan_On,地址是SM0.1不是仅在第一个扫描周期时接通吗,扫码器是时刻在发送信息,,SM0.1是在将CPU置位RUN模式的第一个扫描周期接通,之后就SM0.1在0不变。那怎么再扫码时SM0.1置1。
五丶怀疑:仿写200smart与扫码枪的程序失败的原因,怀疑是否为扫码枪是在扫描成功后发送信息,而扫码器是在时刻发送信息,而我缺少过滤,应该在接受成功,断开或者屏蔽。
小程序查看
手机扫码追踪该问题
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
1,我的目的是实现接收扫码器扫的条形码信息,如:WRPBM127。我想知道如果通讯成功,条形码的信息存储的位置。
答:数据存储在通过指定端口 (PORT) 接收的消息存储在数据缓冲区 (TBL) 中(在接收完毕中断程序中VB100传送给了VB300)
2,地址是SM0.1不是仅在第一个扫描周期时接通吗,扫码器是时刻在发送信息,,SM0.1是在将CPU置位RUN模式的第一个扫描周期接通,之后就SM0.1在0不变。那怎么再扫码时SM0.1置1。
答:程序开始用到的SM0.1只是为了上电时定义所有的参数!
设置 SMB30 、SMB87;
设置 SMW90、SMW92、SMB94;
连接中断程序到中断事件,启用中断;
执行 RCV 指令。
扫码通讯完成会触发中断事件INT_0
你也可以把SM0.1看做 M0.0加一个沿指令!
直接百度S7-200 SMART 自由口通信,找几个视频就搞明白了。
=====================================
我这里大体说一下。自由口通讯有发送端和接收端,发送的时候调用发送指令,接收的时候调用接收指令。正常的情况下,PLC即要发送信息也要接收信息。就像两个人聊天,一个人问,一个人答。问,就是发送信息。问完之后,就要等另一个人回答,这就是接收信息。当然也是特殊的情况,比如只接收不发送,或者只发送不接收。比如追剧,电视就只发送信息,而此时人只能看,两者没有互动。你这个扫码器就是这种情况,一直发送数据,而PLC只用接收功能就可以了。【如果有高级功能,两者也可能会有交互】
两个人对话,首先要确定用什么语言。对于PLC来说,也是如此,这就叫初使化。用SM0.1来调用这些程序。来确定通信端口,波特率等等。
RS485是半双工模式,不能两个设备同时发送消息。就像两人对话,一个问一人答,不能两人同时说话。一般默认PLC来问,设备来答。
所以初始化完成之后,PLC就开始发问,执行发送指令。这个指令就是由RS485口执行的,它执行完毕之后,就会告诉CPU,我已经发送完成。这就是产生了一个发送完成中断。
CPU接到这个中断之后,就会让串口进入接收模式,等待对方的回应。就是在这个中断程序中,我们要编程使用接收指令,并定义接收的数据存储区,并使能接收中断功能,就是让串口得到消息之后,立马告诉CPU.
判断接收完成的条件很多,有结束字符,时间,字符长度等,这个根据自己需要判断。
当串口接到对方回应之后,就会立马产生一个接收中断,这时CPU就可以处理接收的数据了。同时在这个中断里,CPU再定义下一步的串口行动。比如,再进行一次发送,或者再继续接收数据。你这个就是CPU一直不断的接收扫码器的数据。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!