Monitoring DALI Bus with PFC-200 and DALI Multi-master Card

I’m looking to implement a DALI bus monitor using the WAGO PFC-200 and the DALI multi-master card.

To do this, I would need access to the raw DALI data coming from the I/O card. Is there a way to read this raw data directly?

I’ve looked into the mailbox communication in “full mode,” but it seems that raw DALI messages are not passed between the card and the PLC runtime. It appears the card might be using its own internal protocol and handling the DALI communication itself.

I also noticed that the DALI card sends polling messages to the bus every second. These messages don’t show up in the process data, which makes sense since the polling continues even when the PLC is stopped—suggesting it’s managed by the card independently.

Do you think this kind of monitoring is possible?

Hello,
Unfortunately no this is not possible with the current module.
The module have a “mind” of itself and have some macro and other ease of life functionality.
The communication between the module and the program is made by a mailbox system.
You will need a dedicated hardware for this. (Maybe an adapter to “transform” the signal for it to be connected to the serial port of the PFC ?).
But I am also interested by this idea.

If this is just for debug purposes there are DALI USB interfaces on the market.
Check for Lunatone : https://www.lunatone.com/en/product/dali-usb/

Thank you very much for your responses.

Typically, the DALI monitor functionality is needed when unexpected behavior occurs on the DALI bus. As part of the standard troubleshooting process, we want to rule that there isn’t anything strange going on on the bus before we start to change gear etc.

The challenge is that this feature is rarely required, so including additional monitoring hardware with every PLC isn’t practical for our use case. However, when problems do arise, it’s difficult to start logging without having that capability already in place. Usually that requires our own technician to be on the site.

Many dedicated DALI-based lighting control systems include this kind of “raw” logging functionality. I think it would be a great addition to have available here as well.

1 Like

I get that the dynamic nature of the I/O adds some complexity here. A dedicated DALI controller has direct access to the bus data, but in your case, there’s an extra step of transferring the data over the K-bus.

That said, since DALI is pretty low-bandwidth, maybe the raw data could still “fit into the mailbox” and make its way to the module interface API on the PLC side. If possible, that would be a great addition!

I have an additional question related to this topic.

We’ve encountered situations where we need to send manufacturer-specific, custom 3-byte DALI commands to the bus.

I’ve attempted to do this using the FbDaliCommandsControlGears function block, as it looks to be as “low level” as you can get with the WagoAppDali library. However, when I try to send these commands, I receive an error indicating that the command is not recognized by the module.

Is there any way to bypass this kind of module-level validation?

I also explored the FbDaliMacroCommandsControlGears block, hoping to find a “SendRawData” macro or something similar, but didn’t come across anything like that.

If this is not possible at the moment, this would be another feature request.

Since you want to do 3 byte command you have to use the FbDaliCommandsControlDevices.
This will send 3 byte DALI frame on the bus.
And for the Macro it is FbDaliMacroCommandsControlDevices

1 Like

Thank you for the answer.

Yes this makes perfect sense. I was somehow expecting that I could send any command with FbDaliCommandsControlGears and did not realize there is a separate block for device commands. This is very obvious now. Thank you.