modbus icon indicating copy to clipboard operation
modbus copied to clipboard

Encounter a problem using Modbus

Open Baokangwen opened this issue 7 months ago • 6 comments

Dear @MarkRivers

##Load record instances dbLoadRecords("/home/guest/EPICS/synApps/support/modbus-R2-11/db/18ubraker.db") Can't set "18U:TABLE:DETH-DI0:DI.DTYP" to "asynUInt32Digital" Error at or before ")" in file "/home/guest/EPICS/synAppa/support/modbus-R2-11/db/18ubraker.db"

ErrordbLoadRecords: faild to load /home/guest/EPICS/synAppa/support/modbus-R2-11/db/18ubraker.db

Baokangwen avatar Jun 10 '25 07:06 Baokangwen

The error is in this file, “18ubraker.db”.

That file is not part of this repository. Did you create that file? If so, please post it, since it seems to have a syntax error.

MarkRivers avatar Jun 10 '25 12:06 MarkRivers

Dear @MarkRivers The content below is from 18ubraker.db

############ NO.1 DI ################## record(bi, "18U:TABLE:DETH-DI0:DI") { field(DTYP,"asynUInt32Digital") field(INP,"@asynMask(No1-DI 0 0x1 2.0)") field(ZNAM,"0") field(ONAM,"1") field(SCAN,"I/O Intr") }

record(bi, "18U:TABLE:DETV1-DI1:DI") { field(DTYP,"asynUInt32Digital") field(INP,"@asynMask(No1-DI 1 0x1 2.0)") field(ZNAM,"0") field(ONAM,"1") field(SCAN,"I/O Intr") }

record(bi, "18U:TABLE:DETV2-DI2:DI") { field(DTYP,"asynUInt32Digital") field(INP,"@asynMask(No1-DI 2 0x1 2.0)") field(ZNAM,"0") field(ONAM,"1") field(SCAN,"I/O Intr") }

record(bi, "18U:TABLE:M2-DI3:DI") { field(DTYP,"asynUInt32Digital") field(INP,"@asynMask(No1-DI 3 0x1 2.0)") field(ZNAM,"0") field(ONAM,"1") field(SCAN,"I/O Intr") }

record(bi, "18U:TABLE:M2-DI4:DI") { field(DTYP,"asynUInt32Digital") field(INP,"@asynMask(No1-DI 4 0x1 2.0)") field(ZNAM,"0") field(ONAM,"1") field(SCAN,"I/O Intr") }

############ NO.2 DO ##################

record(bo, "18U:TABLE:DETH-DO0:DO") { field(DTYP,"asynUInt32Digital") field(OUT,"@asynMask(No1-DO 0 0x1 2.0)") field(ZNAM,"0") field(ONAM,"1") field(SCAN,"Passive") }

record(bo, "18U:TABLE:DETV1-DO1:DO") { field(DTYP,"asynUInt32Digital") field(OUT,"@asynMask(No1-DO 1 0x1 2.0)") field(ZNAM,"0") field(ONAM,"1") field(SCAN,"Passive") }

record(bo, "18U:TABLE:DETV2-DO2:DO") { field(DTYP,"asynUInt32Digital") field(OUT,"@asynMask(No1-DO 2 0x1 2.0)") field(ZNAM,"0") field(ONAM,"1") field(SCAN,"Passive") }

record(bo, "18U:TABLE:M2-DO3:DO") { field(DTYP,"asynUInt32Digital") field(OUT,"@asynMask(No1-DO 3 0x1 2.0)") field(ZNAM,"0") field(ONAM,"1") field(SCAN,"Passive") }

record(bo, "18U:TABLE:M2-DO4:DO") { field(DTYP,"asynUInt32Digital") field(OUT,"@asynMask(No1-DO 4 0x1 2.0)") field(ZNAM,"0") field(ONAM,"1") field(SCAN,"Passive") }

Baokangwen avatar Jun 11 '25 02:06 Baokangwen

Can't set "18U:TABLE:DETH-DI0:DI.DTYP" to "asynUInt32Digital"

Your db file looks OK. I think the problem must be that your IOC application does not correctly include the asyn dbd file, so it does not know about the asynUInt32Digital device support.

MarkRivers avatar Jun 11 '25 02:06 MarkRivers

Thank you mark.

Baokangwen avatar Jun 12 '25 04:06 Baokangwen

Is it working now?

MarkRivers avatar Jun 13 '25 13:06 MarkRivers

I am still trying, there may be some other issues, thank you mark.

Baokangwen avatar Jun 20 '25 03:06 Baokangwen