Skip to content

Commit

Permalink
Added ability to actuate motor brake using digital output
Browse files Browse the repository at this point in the history
Added state names and alarm severity to digital template/substitutions
Fixed problem with CS motor setpoint at startup
Fixed problem with CS motor using AutoOff delay at move start.  It now
uses AutoOn delay at move start
Fixed problem with config synApps build directory
  • Loading branch information
motorapp authored and motorapp committed Apr 5, 2015
1 parent 6488b18 commit 5fa2e43
Show file tree
Hide file tree
Showing 25 changed files with 1,215 additions and 966 deletions.
16 changes: 11 additions & 5 deletions 3-0/GalilSup/Db/galil_digital_in_bit.template
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# $File: //ASP/Dev/SBS/4_Controls/4_3_Network_Infrastructure/4_3_1_Comms_Common_Services/sw/device_drivers/Galil/1-5/galilSup/Db/galil_digital_in_bits.template $
# $Revision: #1 $
# $DateTime: 2012/03/19 12:39:43 $
# $File: //ASP/Dev/SBS/4_Controls/4_3_Network_Infrastructure/4_3_1_Comms_Common_Services/sw/device_drivers/Galil/3-0/GalilSup/Db/galil_digital_in_bit.template $
# $Revision: #2 $
# $DateTime: 2015/03/30 12:39:35 $
# $Author: cliftm $
#
# This library is free software; you can redistribute it and/or
Expand Down Expand Up @@ -28,14 +28,20 @@
# BYTE - Hardware byte to read
# MASK - Mask for this bit
# SCAN - Scan period
# ZNAM - Zero state name
# ONAM - One stage name
# ZSV - Zero severity
# OSV - One severity

record(bi,"$(P):$(R)_STATUS")
{
field(DTYP, "asynUInt32Digital")
field(INP, "@asynMask($(PORT) $(BYTE) $(MASK))BINARY_IN")
field(SCAN, "I/O Intr")
field(ZNAM, "Low")
field(ONAM, "High")
field(ZNAM, "$(ZNAM)")
field(ONAM, "$(ONAM)")
field(ZSV, "$(ZSV)")
field(OSV, "$(OSV)")
}

# end
Expand Down
22 changes: 15 additions & 7 deletions 3-0/GalilSup/Db/galil_digital_out_bit.template
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# $File: //ASP/Dev/SBS/4_Controls/4_3_Network_Infrastructure/4_3_1_Comms_Common_Services/sw/device_drivers/Galil/1-5/galilSup/Db/galil_digital_out_bits.template $
# $Revision: #1 $
# $DateTime: 2012/03/19 12:39:43 $
# $File: //ASP/Dev/SBS/4_Controls/4_3_Network_Infrastructure/4_3_1_Comms_Common_Services/sw/device_drivers/Galil/3-0/GalilSup/Db/galil_digital_out_bit.template $
# $Revision: #2 $
# $DateTime: 2015/03/30 12:39:35 $
# $Author: cliftm $
#
# This library is free software; you can redistribute it and/or
Expand All @@ -27,21 +27,29 @@
# PORT - Asyn port name
# WORD - Hardware WORD to read
# MASK - Mask for this bit
# ZNAM - Zero state name
# ONAM - One stage name
# ZSV - Zero severity
# OSV - One severity

record(bi,"$(P):$(R)_STATUS")
{
field(DTYP, "asynUInt32Digital")
field(INP, "@asynMask($(PORT) $(WORD) $(MASK))BINARY_OUTRBV")
field(SCAN, "I/O Intr")
field(ZNAM, "Low")
field(ONAM, "High")
field(ZNAM, "$(ZNAM)")
field(ONAM, "$(ONAM)")
field(ZSV, "$(ZSV)")
field(OSV, "$(OSV)")
}

record(bo,"$(P):$(R)_CMD")
{
field(ZNAM, "Low")
field(ONAM, "High")
field(PINI, "YES")
field(ZNAM, "$(ZNAM)")
field(ONAM, "$(ONAM)")
field(ZSV, "$(ZSV)")
field(OSV, "$(OSV)")
field(DTYP, "asynUInt32Digital")
field(OUT, "@asynMask($(PORT) $(WORD) $(MASK))BINARY_OUT")
}
Expand Down
5 changes: 4 additions & 1 deletion 3-0/GalilSup/Db/galil_motor_extras.req
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,7 @@ $(P)$(M)_OFFDELAY_SP
$(P)$(M)_UINDEX_CMD
$(P)$(M)_JAH_CMD
$(P)$(M)_JAHV_SP

$(P)$(M)_BRAKEPORT_SP
$(P)$(M)_BRAKE_CMD
$(P)$(M)_AUTOBRAKE_CMD
$(P)$(M)_BRAKEONDELAY_SP
93 changes: 93 additions & 0 deletions 3-0/GalilSup/Db/galil_motor_extras.template
Original file line number Diff line number Diff line change
Expand Up @@ -680,6 +680,8 @@ record(ao,"$(P):$(M)_ONDELAY_SP")
field(PREC, "$(PREC)")
field(EGU, "Secs")
field(VAL, ".2")
field(DRVH, "3")
field(DRVL, ".001")
field(PINI, "YES")
field(OUT, "@asyn($(PORT),$(ADDR))MOTOR_AUTO_ONDELAY")
field(FLNK, "$(P):$(M)_ONDELAY_MON")
Expand All @@ -703,11 +705,102 @@ record(ao,"$(P):$(M)_OFFDELAY_SP")
field(PREC, "$(PREC)")
field(EGU, "Secs")
field(VAL, ".2")
field(DRVH, "3")
field(DRVL, ".001")
field(PINI, "YES")
field(OUT, "@asyn($(PORT),$(ADDR))MOTOR_AUTO_OFFDELAY")
field(FLNK, "$(P):$(M)_OFFDELAY_MON")
}

#Motor brake manual control
record(bo,"$(P):$(M)_BRAKE_CMD")
{
field(DESC, "mtr brake")
field(DTYP, "asynInt32")
field(PINI, "YES")
field(ZNAM, "Off")
field(ONAM, "On")
field(VAL, "0")
field(OUT, "@asyn($(PORT),$(ADDR))MOTOR_BRAKE")
}

record(bi,"$(P):$(M)_BRAKE_STATUS")
{
field(DESC, "mtr brake")
field(DTYP, "asynInt32")
field(SCAN, "I/O Intr")
field(ZNAM, "Off")
field(ONAM, "On")
field(INP, "@asyn($(PORT),$(ADDR))MOTOR_BRAKE")
}

#Motor auto brake between moves
record(bo,"$(P):$(M)_AUTOBRAKE_CMD")
{
field(DESC, "mtr auto brake")
field(PINI, "YES")
field(DTYP, "asynInt32")
field(ZNAM, "Off")
field(ONAM, "On")
field(VAL, "0")
field(OUT, "@asyn($(PORT),$(ADDR))MOTOR_AUTO_BRAKE")
field(FLNK, "$(P):$(M)_AUTOBRAKE_STATUS")
}

record(bi,"$(P):$(M)_AUTOBRAKE_STATUS")
{
field(DESC, "mtr auto brake")
field(DTYP, "asynInt32")
field(SCAN, "$(SCAN)")
field(ZNAM, "Off")
field(ONAM, "On")
field(INP, "@asyn($(PORT),$(ADDR))MOTOR_AUTO_BRAKE")
}

#Motor auto brake port
record(ai,"$(P):$(M)_BRAKEPORT_MON")
{
field(DESC, "mtr brake digport")
field(DTYP, "asynInt32")
field(SCAN, "$(SCAN)")
field(INP, "@asyn($(PORT),$(ADDR))MOTOR_BRAKEPORT")
}

record(ao,"$(P):$(M)_BRAKEPORT_SP")
{
field(DESC, "mtr brake digport")
field(DTYP, "asynInt32")
field(PINI, "YES")
field(DRVH, "16")
field(DRVL, "-1")
field(VAL, "-1")
field(OUT, "@asyn($(PORT),$(ADDR))MOTOR_BRAKEPORT")
field(FLNK, "$(P):$(M)_BRAKEPORT_MON")
}

#Motor auto brake on delay
record(ai,"$(P):$(M)_BRAKEONDELAY_MON")
{
field(DESC, "mtr brake on delay")
field(DTYP, "asynFloat64")
field(SCAN, "$(SCAN)")
field(PREC, "$(PREC)")
field(INP, "@asyn($(PORT),$(ADDR))MOTOR_AUTO_BRAKEONDELAY")
}

record(ao,"$(P):$(M)_BRAKEONDELAY_SP")
{
field(DESC, "mtr brake on delay")
field(DTYP, "asynFloat64")
field(PINI, "YES")
field(PREC, "$(PREC)")
field(VAL, ".2")
field(DRVH, "3")
field(DRVL, ".001")
field(OUT, "@asyn($(PORT),$(ADDR))MOTOR_AUTO_BRAKEONDELAY")
field(FLNK, "$(P):$(M)_BRAKEONDELAY_MON")
}

record(bi,"$(P):$(M)_ON_STATUS")
{
field(DESC, "Mtr on status")
Expand Down
Loading

0 comments on commit 5fa2e43

Please sign in to comment.