Just to clarify, you can actually use a single asyn record for any number of Asyn addresses. The address field can be changed in the record GUI at run time, so you can first connect to one axis, then another axis. In fact the aysn PORT
can also be changed a run-time so a single asyn record can be used to control any asyn port and any asyn address in your IOC.
Since the messages are coming from an Asyn driver, they are likely using the asynPrint function which uses a mask to control which messages are printed for that particular Asyn port. It’s possible to control this at the database level by
using the asynRecord. If you load one of these and connect it to the Asyn port in question, you can use the trace control fields to turn off and on error messages:
Depending on the driver, you may need a separate record for each Asyn address.
Hello,
We use the asyn to communicate to motor controllers in production user area, where motors may be unplugged due to the users need. For other application where we use asyn we use the SDIS/DISV field of a PV to set an asyn device online/offline,
thereby disabling messages from spewing to the console port. However, when the motor record is used, for a asyn motor controller it’s unclear how to turn off messages for a single device. Is there a method do this this, or is the only solution to shut off
all messages to the console port?
Regards,
-Kristi
record(bo, "$(ps):CommLink") {
field(DESC, "Communication Link Status")
field(ZNAM, "Offline")
field(ONAM, "Online")
field(FLNK, "$(ps):InitCommLinkCalc")
}
record(fanout, "$(ps):UpdateFast")
{
# Process State before Curr since State may change Curr limits.
field(DESC, "Fast Update")
field(LNK1, "$(ps):Volt.PROC")
field(LNK2, "$(ps):State.PROC")
field(LNK3, "$(ps):VoltSetptRbck.PROC")
field(LNK4, "$(ps):CurrSetptRbck.PROC")
field(LNK5, "$(ps):Curr.PROC")
field(LNK6, "$(ps):CurrAct.PROC")
field(SCAN, ".5 second")
field(DISV, "0")
field(SDIS, "$(ps):CommLink")
field(ASG, "Internal")
}
record(fanout, "$(ps):UpdateSlow")
{
field(DESC, "Slow Update")
field(LNK1, "$(ps):StatusEvent.PROC")
field(LNK2, "$(ps):OperStatus.PROC")
field(LNK3, "$(ps):FaultStatus.PROC")
field(LNK4, "$(ps):FaultEvent.PROC")
field(SCAN, "2 second")
field(DISV, "0")
field(SDIS, "$(ps):CommLink")
field(ASG, "Internal")
}
2021/03/02 08:29:30.419 Pico8742Driver:poll(): Communication Error
2021/03/02 08:29:30.429 Pico8742Driver:Pico8742::writeReadController(): error, status=3
2021/03/02 08:29:30.429 Pico8742Driver:poll(): Communication Error
2021/03/02 08:29:30.439 Pico8742Driver:Pico8742::writeReadController(): error, status=3
2021/03/02 08:29:30.439 Pico8742Driver:poll(): Communication Error
2021/03/02 08:29:30.449 Pico8742Driver:Pico8742::writeReadController(): error, status=3
2021/03/02 08:29:30.449 Pico8742Driver:poll(): Communication Error