回复:新手求教这种程序怎么做啊

Zaxife

  • 帖子

    2450
  • 精华

    31
  • 被关注

    78

论坛等级:至圣

注册时间:2008-07-24

普通 普通 如何晋级?

发布于 2017-05-11 23:59:57

28楼

展开查看
以下是引用芳季在2017-05-11 15:14:49的发言 >23楼

你说对了。你最终算算最远这个是820个字节(具体我没算,按我程序中的说明为准。)100个位是多少个?plc够不够空间。应该不够的了。所以我说几十个还可以。

还有,是否真有100个品种共存?不使用的可以把空间让出。所以,一个管理内存的程序这个时间应该出现。

你现在能分清两种方法的长短就已足够了。

芳老大啊,逻辑不是这样处理的吧?数据也不会这么增量增长的吧?

分拣线应用中,每个分拣口占用的数据都是一样的吧?


比如,楼主的100个分拣口,那么一个条形码就是13个字符,然后自定义一个CRC16。如此,分拣口是固定的的一个数组,一个分拣口就是13+2=15字节,就算凑个整数每个分拣口20字节,100个分拣口就是2000个字节而已,没你说的最后一个就8200字节...你的做法太坑爹了!


换成是我,就这也做。

1.100分拣口做成一个连续的2000字节的数组,传送带一个200字节数组用来存储扫到的有效货品CRC16,在定义一个变量作为货品入口位置;

2.程序上电就可以录入每个分拣口对应的条形码字符串,然后计算各个条码的CRC16;

3.开始分拣时,当入口扫描到一个条码后,立刻计算出条码的CRC16,然后跟分拣口的CRC16比较,如果有CRC相等的就直接送到传送带数组,如果没有相等的直接就踢出去,放入下一个货品扫描条码;

4.每当传送带前进分拣口距离,入口位置就自动+1,然后循环比较100个分拣口CRC16是否等于传送带入口+(n+1)地址指向的传送带数组的CRC16相等,如果相等则打开当前的分拣口把这货送出去且清掉CRC16。如果循环完毕都没有相等的作为无效最后一个分拣时作为无效的二货直接出传送带且清掉CRC16。



评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8945条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。