CableCheck (Poka-Yoke Check)

From PlcWiki

(Difference between revisions)
Jump to: navigation, search
 
(5 intermediate revisions not shown)
Line 8: Line 8:
*Operation.''name''.PartStart[i] = int
*Operation.''name''.PartStart[i] = int
*Operation.''name''.PartLength[i] = int
*Operation.''name''.PartLength[i] = int
-
  These two parameters (in case of an operation type CableCheck) define the start position and the substring length '''in the product ID'''.
+
  These two parameters ('''in case of an operation type CableCheck''') define the start position and the substring length '''in the product ID'''! Not in the scanned barcode, as it is used in case of PartCheck.
*Operation.''name''.CheckSumType[i] = int
*Operation.''name''.CheckSumType[i] = int
  Possible values of CheckSumType:
  Possible values of CheckSumType:
Line 17: Line 17:
*Operation.''name''.SNStore = '''No''' | Yes
*Operation.''name''.SNStore = '''No''' | Yes
  This parameter is used here to define if the part bar code is different by its prefix or suffix:
  This parameter is used here to define if the part bar code is different by its prefix or suffix:
-
  No  - Part number consists of Product ID + Suffix
+
  No  - Part number consists of Prefix + Product ID
-
  Yes - Part number consists of Prefix + Product ID
+
  Yes - Part number consists of Product ID + Suffix
 +
*Operation.''name''.PrefixLength[i] = int
 +
This parameter needs to be used in case there is used a prefix and a suffix as well.
 +
 
 +
== Regex back references ==
 +
When you use group in regex, group match is used for comparing. In such case is not necessary to use PrefixLength parameter.
== Examples ==
== Examples ==
Line 28: Line 33:
  Operation.MainHarness.Index = 1
  Operation.MainHarness.Index = 1
  Operation.MainHarness.SelectPattern[0] = ^\d{7}ABC$
  Operation.MainHarness.SelectPattern[0] = ^\d{7}ABC$
 +
Operation.MainHarness.SNStore = Yes
 +
 +
2. The part number consists of a prefix "ABC" + product ID:
 +
Product ID: 1234567
 +
Tested Part number: ABC'''1234567'''
 +
''Settings:''
 +
Operation.MainHarness.Type = CableCheck
 +
Operation.MainHarness.Index = 1
 +
Operation.MainHarness.SelectPattern[0] = ^ABC\d{7}$
  Operation.MainHarness.SNStore = No
  Operation.MainHarness.SNStore = No
 +
 +
3. The part number consists of a prefix "ABC" + product ID + suffix "D":
 +
Product ID: 1234567
 +
Tested Part number: ABC'''1234567'''D
 +
''Settings:''
 +
Operation.MainHarness.Type = CableCheck
 +
Operation.MainHarness.Index = 1
 +
Operation.MainHarness.SelectPattern[0] = ^ABC\d{7}D$
 +
Operation.MainHarness.SNStore = No
 +
Operation.MainHarness.PrefixLength[0] = 3
 +
 +
4. Same like 3. using regex group. The part number consists of a prefix "ABC" + product ID + suffix "D":
 +
Product ID: 1234567
 +
Tested Part number: ABC'''1234567'''D
 +
''Settings:''
 +
Operation.MainHarness.Type = CableCheck
 +
Operation.MainHarness.Index = 1
 +
Operation.MainHarness.SelectPattern[0] = ^ABC(\d{7})D$

Current revision as of 09:43, 10 February 2017

Generally, this type of an operation checks if the scanned barcode matches the product ID. It can be called a unique part check. The scanned bar code (or its substring) needs to match the product ID (or its substring).

Contents

Mandatory parameters

  • Operation.name.Type = CableCheck
  • Operation.name.Index = (int) index

Other parameters

Bar code settings

  • Operation.name.SelectPattern[i] = Regexp
  • Operation.name.PartStart[i] = int
  • Operation.name.PartLength[i] = int
These two parameters (in case of an operation type CableCheck) define the start position and the substring length in the product ID! Not in the scanned barcode, as it is used in case of PartCheck.
  • Operation.name.CheckSumType[i] = int
Possible values of CheckSumType:
0 - No check (default settings)
1 - SumEven + 3*SumOdd MOD 10
2 - SumEven + 3*SumOdd MOD 36
3 - Sum MOD 43 (Code39)
  • Operation.name.SNStore = No | Yes
This parameter is used here to define if the part bar code is different by its prefix or suffix:
No  - Part number consists of Prefix + Product ID
Yes - Part number consists of Product ID + Suffix
  • Operation.name.PrefixLength[i] = int
This parameter needs to be used in case there is used a prefix and a suffix as well.

Regex back references

When you use group in regex, group match is used for comparing. In such case is not necessary to use PrefixLength parameter.

Examples

1. The part number consists of a product ID + suffix "ABC":
Product ID: 1234567
Tested Part number: 1234567ABC
Settings:
Operation.MainHarness.Type = CableCheck
Operation.MainHarness.Index = 1
Operation.MainHarness.SelectPattern[0] = ^\d{7}ABC$
Operation.MainHarness.SNStore = Yes
2. The part number consists of a prefix "ABC" + product ID:
Product ID: 1234567
Tested Part number: ABC1234567
Settings:
Operation.MainHarness.Type = CableCheck
Operation.MainHarness.Index = 1
Operation.MainHarness.SelectPattern[0] = ^ABC\d{7}$
Operation.MainHarness.SNStore = No
3. The part number consists of a prefix "ABC" + product ID + suffix "D":
Product ID: 1234567
Tested Part number: ABC1234567D
Settings:
Operation.MainHarness.Type = CableCheck
Operation.MainHarness.Index = 1
Operation.MainHarness.SelectPattern[0] = ^ABC\d{7}D$
Operation.MainHarness.SNStore = No
Operation.MainHarness.PrefixLength[0] = 3

4. Same like 3. using regex group. The part number consists of a prefix "ABC" + product ID + suffix "D":

Product ID: 1234567
Tested Part number: ABC1234567D
Settings:
Operation.MainHarness.Type = CableCheck
Operation.MainHarness.Index = 1
Operation.MainHarness.SelectPattern[0] = ^ABC(\d{7})D$
Personal tools