recordtype(magnet) {
include "dbCommon.dbd"
field(VAL,DBF_STRING) {
prompt("Value")
special(SPC_DBADDR)
interest(1)
size(16)
}
field(IDX,DBF_LONG) {
prompt("MySQL Index")
}
field(MAG,DBF_STRING) {
prompt("Magnet Name")
promptgroup(GUI_DISPLAY)
interest(1)
size(16)
}
field(CSET,DBF_FLOAT) {
prompt("CSET Value")
asl(ASL0)
pp(TRUE)
}
field(DAC,DBF_FLOAT) {
prompt("DAC Value")
asl(ASL0)
pp(TRUE)
}
field(CMON,DBF_FLOAT) {
prompt("CMON Value")
asl(ASL0)
pp(TRUE)
}
field(VMON,DBF_FLOAT) {
prompt("VMON Value")
asl(ASL0)
pp(TRUE)
}
field(MGST,DBF_USHORT) {
prompt("Status")
asl(ASL0)
pp(TRUE)
}
field(TMS,DBF_STRING) {
prompt("MySQL Time Stamp")
promptgroup(GUI_DISPLAY)
interest(1)
size(20)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_INPUTS)
special(SPC_NOMOD)
interest(1)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
interest(1)
}
}
record(magnet,"$(name):$(port):$(table):$(mg)") {
field(DESC, "MySQL select")
field(SCAN,"1 second")
field(DTYP,"MySql")
field(INP,"@$(port) $(table) $(mg) * $(addr)")
}
SQL ドライバ初期化の際に、指定したユーザのパスワードを入れられるようにした。
...
dbLoadDatabase("dbd/example.dbd")
example_registerRecordDeviceDriver(pdbbase)
#sqlDriverInit("hostname", "username", "password","table-name", auto-connect)
sqlDriverInit("bcce0", "nakayosi", "password","EP1", 0)
dbLoadRecords("db/testMag.db","name=nakapc2,port=bcce0,addr=1,table=MAG_CONTROL,mg=v01")
dbLoadRecords("db/testMag.db","name=nakapc2,port=bcce0,addr=2,table=MAG_CONTROL,mg=h02")
dbLoadRecords("db/testMag.db","name=nakapc2,port=bcce0,addr=3,table=MAG_CONTROL,mg=v03")
...
dbLoadRecords("db/testMag.db","name=nakapc2,port=bcce0,addr=73,table=MAG_CONTROL,mg=q72")
dbLoadRecords("db/testMag.db","name=nakapc2,port=bcce0,addr=74,table=MAG_CONTROL,mg=q73")
dbLoadRecords("db/testMag.db","name=nakapc2,port=bcce0,addr=75,table=MAG_CONTROL,mg=v39")
iocInit()