Files
LNO-EPICS-IOCS/IO-Link/IOC/IOLINK.template
2026-01-05 09:45:29 +01:00

177 lines
4.8 KiB
Plaintext

#Main template to read parameters from AL1350.. sensors are separate
#Live PVs
#SLG-LFLM-IOLINK1:SYS_VOLTAGE 23946 mV
#SLG-LFLM-IOLINK1:SYS_TEMPERATURE 35 C
#SLG-LFLM-IOLINK1:SYS_CURRENT 89 mA
#Read Once Parameters
#SLG-LFLM-IOLINK1:SYS_VENDOR "ifm electronic"
#SLG-LFLM-IOLINK1:SYS_HW_REV "AB"
#SLG-LFLM-IOLINK1:SYS_PROD_CODE "AL1350"
#SLG-LFLM-IOLINK1:SYS_DEV_FAM "IO-Link Master"
#SLG-LFLM-IOLINK1:SYS_SER_NUM "000252615581"
#SLG-LFLM-IOLINK1:SYS_BOOTL_REV "AL1xxx_bl_f7_v2.4.1"
record(stringout,"$(SYSTEM):SYS_NAME"){
field(DESC, "$(NAME)")
field(VAL, "$(NAME)")
}
###########################################
# Counter
###########################################
record(ao,"$(SYSTEM):LIVE_CNTR_ENA"){
field(DESC, "0 to stop counter")
field(VAL, "1")
}
record(calcout,"$(SYSTEM):LIVE_CNTR"){ #for live readings ctsly
field(DESC, "Cycle round all channels")
field(SCAN, ".5 second")
field(INPA, "$(SYSTEM):LIVE_CNTR")
field(INPB, "$(SYSTEM):LIVE_CNTR_ENA")
field(INPC, "$(MAXCOUNT=10)")
field(CALC, "B=0?-5:A<C?A+1:0")
}
record(calcout, "$(SYSTEM):SYS_LIVE_READ"){ #Trigger a live reading
field(DESC, "Read live data")
field(INPA, "$(SYSTEM):LIVE_CNTR CP")
field(INPB, "$(IDNORDER)")
field(CALC, "A=B?1:0")
field(OOPT, "When Non-zero")
field(OUT, "$(SYSTEM):SYS_VOLTAGE.PROC PP")
}
#Read Controller parameters to continually Read
record(ai, "$(SYSTEM):SYS_VOLTAGE"){
field(DESC, "System PSU Voltage")
field(DTYP, "stream")
field(INP, "@$(SDNC) ReadNumber(/processdatamaster/voltage/getdata) $(IP)")
field(EGU, "mV")
field(FLNK, "$(SYSTEM):SYS_TEMPERATURE")
}
record(ai, "$(SYSTEM):SYS_TEMPERATURE"){
field(DESC, "System Temperature")
field(DTYP, "stream")
field(INP, "@$(SDNC) ReadNumber(/processdatamaster/temperature/getdata) $(IP)")
field(EGU, "C")
field(FLNK, "$(SYSTEM):SYS_CURRENT")
}
record(ai, "$(SYSTEM):SYS_CURRENT"){
field(DESC, "System Current")
field(DTYP, "stream")
field(INP, "@$(SDNC) ReadNumber(/processdatamaster/current/getdata) $(IP)")
field(EGU, "mA")
field(FLNK, "$(SYSTEM):SYS_S_STAT")
}
record(ai, "$(SYSTEM):SYS_S_STAT"){
field(DESC, "supervision status")
field(DTYP, "stream")
field(INP, "@$(SDNC) ReadNumber(/processdatamaster/supervisionstatus/getdata) $(IP)")
field(EGU, "")
field(FLNK, "")
}
#Read Once Parameters
record(stringin, "$(SYSTEM):SYS_VENDOR"){
field(DESC, "Vendor info")
field(PINI, "YES")
field(DTYP, "stream")
field(INP, "@$(SDNC) ReadString(/deviceinfo/vendor/getdata) $(IP)")
field(FLNK, "$(SYSTEM):SYS_HW_REV")
}
record(stringin, "$(SYSTEM):SYS_HW_REV"){
field(DESC, "HW revision")
field(DTYP, "stream")
field(INP, "@$(SDNC) ReadString(/deviceinfo/hwrevision/getdata) $(IP)")
field(FLNK, "$(SYSTEM):SYS_PROD_CODE")
}
record(stringin, "$(SYSTEM):SYS_PROD_CODE"){
field(DESC, "product code")
field(DTYP, "stream")
field(INP, "@$(SDNC) ReadString(/deviceinfo/productcode/getdata) $(IP)")
field(FLNK, "$(SYSTEM):SYS_DEV_FAM")
}
record(stringin, "$(SYSTEM):SYS_DEV_FAM"){
field(DESC, "devicefamily")
field(DTYP, "stream")
field(INP, "@$(SDNC) ReadString(/deviceinfo/devicefamily/getdata) $(IP)")
field(FLNK, "$(SYSTEM):SYS_SER_NUM")
}
record(stringin, "$(SYSTEM):SYS_SER_NUM"){
field(DESC, "serialnumber")
field(DTYP, "stream")
field(INP, "@$(SDNC) ReadString(/deviceinfo/serialnumber/getdata) $(IP)")
field(FLNK, "$(SYSTEM):SYS_BOOTL_REV")
}
#Doesn't seem to exist?
#record(stringin, "$(SYSTEM):SYS_FW_REV"){
# field(DESC, "revision")
# field(DTYP, "stream")
# field(INP, "@$(SDNC) ReadString(/deviceinfo/revision/getdata) $(IP)")
# field(FLNK, "$(SYSTEM):SYS_BOOTL_REV")
#}
record(stringin, "$(SYSTEM):SYS_BOOTL_REV"){
field(DESC, "bootload revision")
field(DTYP, "stream")
field(INP, "@$(SDNC) ReadString(/deviceinfo/bootloaderrevision/getdata) $(IP)")
field(FLNK, "$(SYSTEM):SYS_BUS_TYPE")
}
#Doesn't seem to exist?
#record(stringin, "$(SYSTEM):SYS_EXT_REV"){
# field(DESC, "extensionrevisions")
# field(DTYP, "stream")
# field(INP, "@$(SDNC) ReadString(/deviceinfo/extensionrevisions/getdata) $(IP)")
# field(FLNK, "$(SYSTEM):SYS_BUS_TYPE")
#}
record(ai, "$(SYSTEM):SYS_BUS_TYPE"){
field(DESC, "fieldbustype")
field(DTYP, "stream")
field(INP, "@$(SDNC) ReadNumber(/deviceinfo/fieldbustype/getdata) $(IP)")
field(FLNK, "")
}
#test only
record(ai, "$(SYSTEM):TEST_GET_AI"){
field(DESC, "1=moving ")
field(DTYP, "stream")
field(INP, "@$(SDNC) ReadNumber(/processdatamaster/temperature/getdata) $(IP)")
}
record(stringin, "$(SYSTEM):TEST_GET_STRING"){
field(DESC, "1=moving ")
field(DTYP, "stream")
field(INP, "@$(SDNC) ReadString(/deviceinfo/vendor/getdata) $(IP)")
}