diff --git a/packages/kbot/tests/pdf/omron/E5DC-B_H175-E1-08.pdf b/packages/kbot/tests/pdf/omron/E5DC-B_H175-E1-08.pdf new file mode 100644 index 00000000..9b98d3c6 Binary files /dev/null and b/packages/kbot/tests/pdf/omron/E5DC-B_H175-E1-08.pdf differ diff --git a/packages/kbot/tests/pdf/omron/e5dc_8_100.jpg b/packages/kbot/tests/pdf/omron/e5dc_8_100.jpg new file mode 100644 index 00000000..cbefcd9c Binary files /dev/null and b/packages/kbot/tests/pdf/omron/e5dc_8_100.jpg differ diff --git a/packages/kbot/tests/pdf/omron/e5dc_8_101.jpg b/packages/kbot/tests/pdf/omron/e5dc_8_101.jpg new file mode 100644 index 00000000..1cc98bf0 Binary files /dev/null and b/packages/kbot/tests/pdf/omron/e5dc_8_101.jpg differ diff --git a/packages/kbot/tests/pdf/omron/e5dc_8_102.jpg b/packages/kbot/tests/pdf/omron/e5dc_8_102.jpg new file mode 100644 index 00000000..fb9b621f Binary files /dev/null and b/packages/kbot/tests/pdf/omron/e5dc_8_102.jpg differ diff --git a/packages/kbot/tests/pdf/omron/e5dc_8_103.jpg b/packages/kbot/tests/pdf/omron/e5dc_8_103.jpg new file mode 100644 index 00000000..ea2a47ca Binary files /dev/null and b/packages/kbot/tests/pdf/omron/e5dc_8_103.jpg differ diff --git a/packages/kbot/tests/pdf/omron/e5dc_8_104.jpg b/packages/kbot/tests/pdf/omron/e5dc_8_104.jpg new file mode 100644 index 00000000..c2e2f9b7 Binary files /dev/null and b/packages/kbot/tests/pdf/omron/e5dc_8_104.jpg differ diff --git a/packages/kbot/tests/pdf/omron/e5dc_8_105.jpg b/packages/kbot/tests/pdf/omron/e5dc_8_105.jpg new file mode 100644 index 00000000..acab87a6 Binary files /dev/null and b/packages/kbot/tests/pdf/omron/e5dc_8_105.jpg differ diff --git a/packages/kbot/tests/pdf/omron/e5dc_8_106.jpg b/packages/kbot/tests/pdf/omron/e5dc_8_106.jpg new file mode 100644 index 00000000..06a283f3 Binary files /dev/null and b/packages/kbot/tests/pdf/omron/e5dc_8_106.jpg differ diff --git a/packages/kbot/tests/pdf/omron/e5dc_8_87.jpg b/packages/kbot/tests/pdf/omron/e5dc_8_87.jpg new file mode 100644 index 00000000..e67f2cbb Binary files /dev/null and b/packages/kbot/tests/pdf/omron/e5dc_8_87.jpg differ diff --git a/packages/kbot/tests/pdf/omron/e5dc_8_92.jpg b/packages/kbot/tests/pdf/omron/e5dc_8_92.jpg new file mode 100644 index 00000000..dd71c7c7 Binary files /dev/null and b/packages/kbot/tests/pdf/omron/e5dc_8_92.jpg differ diff --git a/packages/kbot/tests/pdf/omron/e5dc_8_93.jpg b/packages/kbot/tests/pdf/omron/e5dc_8_93.jpg new file mode 100644 index 00000000..8f4a5c17 Binary files /dev/null and b/packages/kbot/tests/pdf/omron/e5dc_8_93.jpg differ diff --git a/packages/kbot/tests/pdf/omron/e5dc_8_94.jpg b/packages/kbot/tests/pdf/omron/e5dc_8_94.jpg new file mode 100644 index 00000000..b26b4b6b Binary files /dev/null and b/packages/kbot/tests/pdf/omron/e5dc_8_94.jpg differ diff --git a/packages/kbot/tests/pdf/omron/e5dc_8_95.jpg b/packages/kbot/tests/pdf/omron/e5dc_8_95.jpg new file mode 100644 index 00000000..539d409a Binary files /dev/null and b/packages/kbot/tests/pdf/omron/e5dc_8_95.jpg differ diff --git a/packages/kbot/tests/pdf/omron/e5dc_8_96.jpg b/packages/kbot/tests/pdf/omron/e5dc_8_96.jpg new file mode 100644 index 00000000..4d858e0f Binary files /dev/null and b/packages/kbot/tests/pdf/omron/e5dc_8_96.jpg differ diff --git a/packages/kbot/tests/pdf/omron/e5dc_8_97.jpg b/packages/kbot/tests/pdf/omron/e5dc_8_97.jpg new file mode 100644 index 00000000..2365b99d Binary files /dev/null and b/packages/kbot/tests/pdf/omron/e5dc_8_97.jpg differ diff --git a/packages/kbot/tests/pdf/omron/e5dc_8_98.jpg b/packages/kbot/tests/pdf/omron/e5dc_8_98.jpg new file mode 100644 index 00000000..54b6cca2 Binary files /dev/null and b/packages/kbot/tests/pdf/omron/e5dc_8_98.jpg differ diff --git a/packages/kbot/tests/pdf/omron/e5dc_8_99.jpg b/packages/kbot/tests/pdf/omron/e5dc_8_99.jpg new file mode 100644 index 00000000..0f205575 Binary files /dev/null and b/packages/kbot/tests/pdf/omron/e5dc_8_99.jpg differ diff --git a/packages/kbot/tests/pdf/omron/extract.sh b/packages/kbot/tests/pdf/omron/extract.sh new file mode 100644 index 00000000..bca6a517 --- /dev/null +++ b/packages/kbot/tests/pdf/omron/extract.sh @@ -0,0 +1,6 @@ +kbot-d --router2=openai --model=google/gemini-2.5-pro-preview-03-25 \ + --prompt=./tests/pdf/omron/prompt.md \ + --each=./tests/pdf/omron/*.jpg \ + --mode=completion --preferences=none \ + --dst=./tests/pdf/omron/modbus.md \ + --filters=code --append=concat diff --git a/packages/kbot/tests/pdf/omron/modbus.md b/packages/kbot/tests/pdf/omron/modbus.md new file mode 100644 index 00000000..d2ef703f --- /dev/null +++ b/packages/kbot/tests/pdf/omron/modbus.md @@ -0,0 +1,102 @@ +No registers found, Page Number 4-13 + + +### Variable Area (Setting Range) List (Page 5-2) + + +| type | description | address in Hex | address in decimal | parameter name | settings / range | level | default | +|--------------|-------------------------------|----------------|--------------------|-----------------------------|----------------------------------------------------------------|-----------|-----------| +| FC 03 / FC 16 | Process Value (PV) | 2000 | 8192 | PV | Temperature/Analog specific range (See manual) | Operation | | +| FC 03 / FC 16 | Status | 2001 | 8193 | Status *1*2 | Refer to 5-2 Status for details | Operation | | +| FC 03 / FC 16 | Internal Set Point | 2002 | 8194 | Internal Set Point *1 | SP lower limit to SP upper limit | Operation | | +| FC 03 / FC 16 | Heater Current 1 Value Monitor | 2003 | 8195 | Heater Current 1 Value Monitor | 0.0 to 55.0 (H'00000000 to H'00000226) | Operation | | +| FC 03 / FC 16 | MV Monitor (Heating) | 2004 | 8196 | MV Monitor (Heating) | -5.0 to 105.0 (Standard: HFFFFFFCE to H'0000041A) | Operation | | +| FC 03 / FC 16 | MV Monitor (Cooling) | 2005 | 8197 | MV Monitor (Cooling) | 0.0 to 105.0 (Heating/Cooling: H'00000000 to H'0000041A) | Operation | | +| FC 03 / FC 16 | Set Point | 2103 | 8451 | Set Point | SP lower limit to SP upper limit | Operation | | +| FC 03 / FC 16 | Alarm Value 1 | 2104 | 8452 | Alarm Value 1 | -1999 to 9999 (HFFFFFF831 to H'0000270F) | Operation | | +| FC 03 / FC 16 | Alarm Value Upper Limit 1 | 2105 | 8453 | Alarm Value Upper Limit 1 | -1999 to 9999 (HFFFFFF831 to H'0000270F) | Operation | | +| FC 03 / FC 16 | Alarm Value Lower Limit 1 | 2106 | 8454 | Alarm Value Lower Limit 1 | -1999 to 9999 (HFFFFFF831 to H'0000270F) | Operation | | +| FC 03 / FC 16 | Alarm Value 2 | 2107 | 8455 | Alarm Value 2 | -1999 to 9999 (HFFFFFF831 to H'0000270F) | Operation | | +| FC 03 / FC 16 | Alarm Value Upper Limit 2 | 2108 | 8456 | Alarm Value Upper Limit 2 | -1999 to 9999 (HFFFFFF831 to H'0000270F) | Operation | | +| FC 03 / FC 16 | Alarm Value Lower Limit 2 | 2109 | 8457 | Alarm Value Lower Limit 2 | -1999 to 9999 (HFFFFFF831 to H'0000270F) | Operation | | +| FC 03 / FC 16 | Process Value (PV) | 2402 | 9218 | PV | Temperature/Analog specific range (See manual) | Operation | | +| FC 03 / FC 16 | Internal Set Point | 2403 | 9219 | Internal Set Point *1 | SP lower limit to SP upper limit | Operation | | +| FC 03 / FC 16 | Multi-SP No. Monitor | 2404 | 9220 | Multi-SP No. Monitor | 0 to 7 (H'00000000 to H'00000007) | Operation | | +| FC 03 / FC 16 | Status | 2406 | 9222 | Status *1*2 | Refer to 5-2 Status for details | Operation | | +| FC 03 / FC 16 | Status | 2407 | 9223 | Status *3 | Refer to 5-2 Status for details | Operation | | +| FC 03 / FC 16 | Status 2 | 2408 | 9224 | Status 2 *1*2 | Refer to 5-2 Status for details | Operation | | +| FC 03 / FC 16 | Status 2 | 2409 | 9225 | Status 2 *1*3 | Refer to 5-2 Status for details | Operation | | +| FC 03 / FC 16 | Decimal Point Monitor | 2410 | 9232 | Decimal Point Monitor | 0 to 3 (H'00000000 to H'00000003) | Operation | | + + +### Variable Area (Setting Range) List (Page 5-3) + +| type | description | address in Hex | address in decimal | parameter name | settings / range | level | default | +| :--------------- | :--------------------------------------------------------------------------------- | :------------- | :----------------- | :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------ | :----------- | +| holding register | Operation/Adjustment Protect | H'0500 | 2500 | Operation/Adjustment Protect | H'00000000 (0): No restrictions in operation and adjustment levels
H'00000001 (1): Move to adjustment level is prohibited.
H'00000002 (2): Display and change of only "PV" and "PV/SP" parameters is allowed.
H'00000003 (3): Display of only "PV" and "PV/SP" parameters is allowed. | Protect | H'00000000 | +| holding register | Initial Setting/Communications Protect | H'0502 | 2501 | Initial Setting/Comm Protect | H'00000000 (0): Move to initial setting/communications setting level is allowed. (Move to advanced function setting level is displayed.)
H'00000001 (1): Move to initial setting/communications setting level is allowed. (Move to advanced function setting level is not displayed.)
H'00000002 (2): Move to initial setting/communications setting level is prohibited. | | H'00000000 | +| holding register | Setting Change Protect | H'0504 | 2502 | Setting Change Protect | H'00000000 (0): OFF (Changing of setup on controller display is allowed.)
H'00000001 (1): ON (Changing of setup on controller display is prohibited.) | | H'00000000 | +| holding register | PF Key Protect | H'0506 | 2503 | PF Key Protect | H'00000000 (0): OFF
H'00000001 (1): ON | | H'00000000 | +| holding register | Move to Protect Level | H'0508 | 2504 | Move to Protect Level | H'FFFFF831 to H'0000270F (-1999 to 9999) | | | +| holding register | Password to Move to Protect Level | H'050A | 2505 | Password to Move Protect Lvl | H'FFFFF831 to H'0000270F (-1999 to 9999) (Can only be set. The monitor value is always H'00000000.) | | H'00000000 | +| holding register | Parameter Mask Enable | H'050C | 2506 | Parameter Mask Enable | H'00000000 (0): OFF
H'00000001 (1): ON | | H'00000000 | +| holding register | Changed Parameters Only | H'050E | 2507 | Changed Parameters Only | H'00000000 (0): OFF
H'00000001 (1): ON | | H'00000000 | +| holding register | Manual MV | H'0600 | 2600 | Manual MV | Standard Models:
Standard control: H'FFFFFCE to H'0000041A (-5.0 to 105.0)
Heating and cooling control: H'FFFFFBE6 to H'0000041A (-105.0 to 105.0)
Position-proportional Models:
Close position-proportional control with the Direct Setting of Position Proportional MV parameter set to ON: H'FFFFFCE to H'0000041A (-5.0 to 105.0) | Manual control | | +| holding register | Set Point | H'0602 | 2601 | Set Point | SP lower limit to SP upper limit | Operation | | +| holding register | Remote SP Monitor | H'0604 | 2602 | Remote SP Monitor | Remote SP lower limit -10% FS to Remote SP upper limit +10% FS | | | +| holding register | Heater Current 1 Value Monitor | H'0608 | 2604 | Heater Current 1 Value Mon | H'00000000 to H'00000226 (0.0 to 55.0) | | | +| holding register | MV Monitor (Heating) | H'060A | 2605 | MV Monitor (Heating) | Standard control: H'FFFFFCE to H'0000041A (-5.0 to 105.0)
Heating and cooling control: H'00000000 to H'0000041A (0.0 to 105.0) | | | +| holding register | MV Monitor (Cooling) | H'060C | 2606 | MV Monitor (Cooling) | H'00000000 to H'0000041A (0.0 to 105.0) | | | +| holding register | Valve Opening Monitor | H'060E | 2607 | Valve Opening Monitor | H'FFFFF9C to H'0000044C (-10.0 to 110.0) | | | + + + +### Communications Data for Modbus (Page 5-4) + + +| type | description | address in Hex | address in decimal | parameter name | settings / range | level | default | +| :-------------------------- | :------------------------------ | :--------------- | :------------------- | :------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------- | :-------- | +| Read/Write Holding Register | Proportional Band (Cooling) | 0701 | 1793 | Proportional Band (Cooling) | H'00000001 to H'0000270F (0.1 to 999.9) | Adjustment | | +| Read/Write Holding Register | Integral Time (Cooling) | 0702 | 1794 | Integral Time (Cooling) | H'00000000 to H'0000270F (0 to 9999: Integral/derivative time unit is 1 s.) (0.0 to 999.9: Integral/derivative time unit is 0.1 s.) | Adjustment | | +| Read/Write Holding Register | Derivative Time (Cooling) | 0703 | 1795 | Derivative Time (Cooling) | H'00000000 to H'0000270F (0 to 9999: Integral/derivative time unit is 1 s.) (0.0 to 999.9: Integral/derivative time unit is 0.1 s.) | Adjustment | | +| Read/Write Holding Register | Dead Band | 0704 | 1796 | Dead Band | H'FFFFF831 to H'0000270F (-199.9 to 999.9 for temperature input) (-19.99 to 99.99 for analog input) | Adjustment | | +| Read/Write Holding Register | Manual Reset Value | 0705 | 1797 | Manual Reset Value | H'00000000 to H'000003E8 (0.0 to 100.0) | Adjustment | | +| Read/Write Holding Register | Hysteresis (Heating) | 0706 | 1798 | Hysteresis (Heating) | H'00000001 to H'0000270F (0.1 to 999.9 for temperature input) (0.01 to 99.99 for analog input) | Adjustment | | +| Read/Write Holding Register | Hysteresis (Cooling) | 0707 | 1799 | Hysteresis (Cooling) | H'00000001 to H'0000270F (0.1 to 999.9 for temperature input) (0.01 to 99.99 for analog input) | Adjustment | | +| Read/Write Holding Register | Control Period (Heating) | 0708 | 1800 | Control Period (Heating) | H'FFFFFFFE (-2): 0.1 s H'FFFFFFFF (-1): 0.2 s H'00000000 (0): 0.5 s H'00000001 to H'00000063 (1 to 99) | Initial setting | | +| Read/Write Holding Register | Control Period (Cooling) | 0709 | 1801 | Control Period (Cooling) | H'FFFFFFFE (-2): 0.1 s H'FFFFFFFF (-1): 0.2 s H'00000000 (0): 0.5 s H'00000001 to H'00000063 (1 to 99) | Initial setting | | +| Read/Write Holding Register | Position Proportional Dead Band | 070A | 1802 | Position Proportional Dead Band | H'00000001 to H'00000064 (0.1 to 10.0) | Adjustment | | +| Read/Write Holding Register | Open/Close Hysteresis | 070B | 1803 | Open/Close Hysteresis | H'00000001 to H'000000C8 (0.1 to 20.0) | Adjustment | | +| Read/Write Holding Register | SP Ramp Time Unit | 070C | 1804 | SP Ramp Time Unit | H'00000000 (0): EU/second H'00000001 (1): EU/minute H'00000002 (2): EU/hour | Advanced function setting | | +| Read/Write Holding Register | SP Ramp Set Value | 070D | 1805 | SP Ramp Set Value | H'00000000 (0): OFF H'00000001 to H'0000270F (1 to 9999) | Adjustment | | +| Read/Write Holding Register | SP Ramp Fall Value | 070E | 1806 | SP Ramp Fall Value | H'FFFFFFFF (-1): Same (Same as SP Ramp Set Value.) H'00000000 (0): OFF H'00000001 to H'0000270F (1 to 9999) | Adjustment | | +| Read/Write Holding Register | MV at Stop | 070F | 1807 | MV at Stop | Standard Models: Standard control: H'FFFFFCE to H'0000041A (-5.0 to 105.0) Heating and cooling control: H'FFFFFBE6 to H'0000041A (-105.0 to 105.0) Position-proportional Models: Close position-proportional control with the Direct Setting of Position Proportional MV parameter set to ON: H'FFFFFCE to H'0000041A (-5.0 to 105.0) Floating position-proportional control or the Direct Setting of Position Proportional MV parameter set to OFF: H'FFFFFFFF to H'00000001 (-1 to 1) | Adjustment | | +| Read/Write Holding Register | MV at PV Error | 0711 | 1809 | MV at PV Error | Same as MV at Stop parameter | Adjustment | | +| Read/Write Holding Register | MV Change Rate Limit | 0713 | 1811 | MV Change Rate Limit | H'00000000 to H'000003E8 (0.0 to 100.0) | Operation | | +| Read/Write Holding Register | PV Input Slope Coefficient | 0718 | 1816 | PV Input Slope Coefficient | H'00000001 to H'0000270F (0.001 to 9.999) | Operation | | +| Read/Write Holding Register | Heater Current 1 Value Monitor | 071A | 1818 | Heater Current 1 Value Monitor | H'00000000 to H'00000226 (0.0 to 55.0) | Operation | | +| Read/Write Holding Register | Heater Burnout Detection 1 | 071B | 1819 | Heater Burnout Detection 1 | H'00000000 to H'000001F4 (0.0 to 50.0) | Adjustment | | +| Read/Write Holding Register | Leakage Current 1 Monitor | 071C | 1820 | Leakage Current 1 Monitor | H'00000000 to H'00000226 (0.0 to 55.0) | Operation | | +| Read/Write Holding Register | HS Alarm 1 | 071D | 1821 | HS Alarm 1 | H'00000000 to H'000001F4 (0.0 to 50.0) | Adjustment | | +| Read/Write Holding Register | Process Value Input Shift | 0723 | 1827 | Process Value Input Shift | H'FFFFF831 to H'0000270F (-1999 to 9999) | Adjustment | | +| Read/Write Holding Register | Heater Current 2 Value Monitor | 0724 | 1828 | Heater Current 2 Value Monitor | H'00000000 to H'00000226 (0.0 to 55.0) | Operation | | + + + + + + +### Variable Area (Setting Range) List (Page 5-5) + +| type | description | address in Hex | address in decimal | parameter name | settings / range | level | default | +| :-------------------------------- | :-------------------------------- | :------------- | :----------------- | :-------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- | :----------------------- | :-------- | +| Write Holding Register (FC 06/16) | Heater Burnout Detection 2 | 2725 | 10021 | Heater Burnout Detection 2 | H'00000000 to H'000001F4 (0.0 to 50.0) | Adjustment | | +| Write Holding Register (FC 06/16) | Leakage Current 2 Monitor | 2726 | 10022 | Leakage Current 2 Monitor | H'00000000 to H'00000226 (0.0 to 55.0) | Operation | | +| Write Holding Register (FC 06/16) | HS Alarm 2 | 2727 | 10023 | HS Alarm 2 | H'00000000 to H'000001F4 (0.0 to 50.0) | Adjustment | | +| Write Holding Register (FC 06/16) | Soak Time Remain | 2728 | 10024 | Soak Time Remain | H'00000000 to H'0000270F (0 to 9999) | Operation | | +| Write Holding Register (FC 06/16) | Soak Time | 2729 | 10025 | Soak Time | H'00000001 to H'0000270F (1 to 9999) | Adjustment | | +| Write Holding Register (FC 06/16) | Wait Band | 272A | 10026 | Wait Band | H'00000000 (0): OFF, H'00000001 to H'0000270F (0.1 to 999.9 for Temp input / 0.01 to 99.99 for Analog input) | Adjustment | OFF | +| Write Holding Register (FC 06/16) | Remote SP Input Shift | 272B | 10027 | Remote SP Input Shift | H'FFFFF831 to H'0000270F (-1999 to 9999) | Advanced function setting | | +| Write Holding Register (FC 06/16) | Remote SP Input Slope Coefficient | 272C | 10028 | Remote SP Input Slope Coefficient | H'00000001 to H'0000270F (0.001 to 9.999) | Advanced function setting | | +| Write Holding Register (FC 06/16) | Input Digital Filter | 2800 | 10240 | Input Digital Filter | H'00000000 to H'0000270F (0.0 to 999.9) | Advanced function setting | | +| Write Holding Register (FC 06/16) | Moving Average Count | 2804 | 10244 | Moving Average Count | H'00000000 (0): OFF, H'00000001 (1): 2 times, H'00000002 (2): 4 times, H'00000003 (3): 8 times, H'00000004 (4): 16 times, H'00000005 (5): 32 times | Advanced function setting | OFF | diff --git a/packages/kbot/tests/pdf/omron/prompt.md b/packages/kbot/tests/pdf/omron/prompt.md new file mode 100644 index 00000000..e088d7c1 --- /dev/null +++ b/packages/kbot/tests/pdf/omron/prompt.md @@ -0,0 +1,16 @@ + +Extract all Modbus read & write registers, as Markdown table. If none can be identified, abort and return message "No registers found, Page Number XX" !! + + +## Columns +- type (read/write holding register/coil) as function code +- description +- address in Hex +- address in decimal +- parameter name +- if exists : settings / range +- if exists : level +- if exists : default +- Dont comment or explain, just return Markdown +- insert new lines before and after headers +- insert a descriptive chapter name, header level 3 with the page number diff --git a/packages/kbot/tests/pdf/omron/readme.md b/packages/kbot/tests/pdf/omron/readme.md new file mode 100644 index 00000000..f90060a1 --- /dev/null +++ b/packages/kbot/tests/pdf/omron/readme.md @@ -0,0 +1 @@ +range: 87 - \ No newline at end of file