Is there any way to set up a traditional alarm printer on a PMI node? I realise that alarms are logged in a table which enables you to have a nice interface to filter alarms by date etc. and produce one-off reports, but our customer is used to a (dot matrix!) printer printing out each alarm as they happen.
Here’s how I’d do it.
-Add another date_time column to your alarm history table that indicates when the alarm was printed.
Option 1 - Use a hardware printer controlled by the PLC. I’d use a FSQL group to monitor un-acknowledged/printed alarms and trigger that to the PLC. You are dependent on FPMI to be up to print the alarms, but then you won’t have to maintain all the alarm conditions in the PLC. It also can give you more information to print.
Option 2 - Use a FactoryPMI client to print the alarm. There are several posts about automatically doing x in FactoryPMI (typically printing or emailing). Here’s one. You can create a nice report with the reporting plugin to print or just use tables. The issues that come up:
- Concurrency - FPMI does not have a Jython engine that always runs. At least one eligible client must be running.
- Printer setup - The printer will have to be set up for that computer, likely the default printer.
If you have a dedicated station for this it isn’t too bad. For a networked setup, I’d use the database to store IP addresses or hostnames of eligible print hosts and have PMI clients check that before printing (like this technique). After printing update your printed column in the alarm history table.
This may be a case where a culture change is a good thing. It would be hard to come up with an argument for why spitting a copy of alarms is better than all the relevant parties being emailed/text messaged (FSQL feature) AND they could pull up a history with more data.