讨论

安川码垛程序里P[ ]变量和B[ ]变量到底啥区别?客户催方案我得先整明白

mhw1982
mhw1982
2026/04/12 16:17

手头有个米厂的项目,用安川MH50走码垛,5层5列,箱子尺寸固定。按理说应该不难,但客户那边说先别急着报方案,让把程序思路理出来给他看。我想用变量循环写,省得每改一个点位就重写一半。问题是P变量和B变量在码垛这种循环场景里到底哪个更顺手?我之前一直用P算偏移,但听说B数组能直接整列存好再调用,少几行代码,是不是这么回事?

还有就是客户那边层数和列数可能会变(5层5列或者6层6列都有可能),要是一次写死改起来麻烦,用哪种变量写调整起来更快?有没有做过类似项目的兄弟把变量定义那块的思路发我瞅瞅,节不节省代码量先不说,主要是别交方案的时候被客户技术挑刺。

17 3

全部回复 (3)

买卖兴隆
买卖兴隆#1

B变量是字节型,范围0-255,存个百八十个点够用;P变量是位置型,存的是坐标。你码垛25个点或者36个点,用B存编号做索引去查P表就行。我这边给某酒厂写的码垛就是两层循环:外层B[1]管层,内层B[2]管列,B[3]算列偏移量,每抓一个箱子B[2]自加,加到列数清零、B[1]加1触发换层。要调层数就改B[1]的判断值,改列数改B[2]的判断值,P表里多预存几行备用点就行。客户要5层5列就B[1]

2026/04/13 13:42
宋传东
宋传东#2

你直接用P变量加算术偏移不就行了?MH50的P变量支持P[i]这种带索引的写法,列偏移P[10+i*5]、层偏移P[20+i]这种,循环里直接i+1遍历,代码量也不多。我们厂里30多个码垛项目八成是P变量干的,B变量主要是早年DX200老系统才用得多,安川新系统P变量索引方便得很,没必要为了省几行代码去折腾B。

2026/04/15 01:52
xu_bin
xu_bin#3

客户要5层5列报方案的时候说成5×5还是说成25个点位/工位?这俩说法不一样,方案里别写错。另外码垛机型的抓取节拍你算了没,箱子重量多少、抓手自重多少,MH50额定50kg但码垛实际负载得打7折算,客户那边不问你就不说,问了你得能答出来。

2026/04/16 08:43