I have a question about the Current Lamp Status Variable mapped in the "Dm1" Application:
How does this Variable work and where does it come from? I thought using J1939 the Dm1 is send with only one Lamp Status that reflect the present state of the transmitting electronic component. This Lamp Status correspond to the most important Lamp Status from all active DTCs.
How does it work that the Variable "Current Lamp Status" seems to be the Lamp Status of the currently displayed DTC?
Am I understanding something wrong about the J1939 standart?
Thanks for your help!
Dm1 Current Lamp Status
- altenhof
- Posts: 3
- Joined: Mon Apr 11, 2011 9:29 am
- mbowdich
- Posts: 209
- Joined: Tue Oct 05, 2010 10:54 am
Re: Dm1 Current Lamp Status
You are correct in how the DM1 is transmitted. However, if you use the lamp status override feature in the DTC section of the database, then this variable will show the lamp color indicated by your override sewlection. I do this so my users can see the correct color of each DTC when there are multiples.
- jtabb
- Enovation Controls Development
- Posts: 37
- Joined: Mon Apr 04, 2011 8:59 am
Re: Dm1 Current Lamp Status
altenhof,
Using Murphy Standard as my reference, it looks like CurrentLampStatus is used in a calculation to determine the DM1 message background color, where 1 is amber and 2 red.
Here we have a lamp that is tied to DM1.LampStatus that will show the highest priority message. The background color is just that of the message being read at the time. So we need two variables so that we can view both the highest priority and the current message.
I hope this answers your question
jtabb
Using Murphy Standard as my reference, it looks like CurrentLampStatus is used in a calculation to determine the DM1 message background color, where 1 is amber and 2 red.
Here we have a lamp that is tied to DM1.LampStatus that will show the highest priority message. The background color is just that of the message being read at the time. So we need two variables so that we can view both the highest priority and the current message.
I hope this answers your question
jtabb
- Attachments
-
- DM1CurrentLampStatus.png (35.72 KiB) Viewed 109 times
jtabb
FW Murphy Development Team
FW Murphy Development Team
- altenhof
- Posts: 3
- Joined: Mon Apr 11, 2011 9:29 am
Re: Dm1 Current Lamp Status
Thank you for your reply, but I am sorry that isn't really answering my question. I understood the function of the 2 variables in the same way as you did. My question isn't what the use of the variable "Current Lamp Status" is, I need to know how it is possible that this variable works.
Here is an extract from the SAE J1939-73 document about "Application Layer - Diagnostics": If I am understanding this right, there is no possibility that the "Current Lamp Status" variable could work, because the Lamp Status of every single DTC isn't transmitted in the DM1.
Here is an extract from the SAE J1939-73 document about "Application Layer - Diagnostics": If I am understanding this right, there is no possibility that the "Current Lamp Status" variable could work, because the Lamp Status of every single DTC isn't transmitted in the DM1.
- jpurdum
- Enovation Controls Development
- Posts: 153
- Joined: Mon Jun 21, 2010 11:19 am
Re: Dm1 Current Lamp Status
Mr Altenhof -
Sorry for the confusion. My document isn't clear enough on the difference between LampStatus and CurrentLampStatus.
You are correct - J1939 does not provide control over lamp status on individual DTCs - it can only provide status as the worst case for that component since there is only once lamp status available in the DM1 multi-packet message. However, there can be different components on the same bus or on a different bus that can have a different level of status.
So
UserDefinedVariable.Dm1.LampStatus = Worst case of all the lamp statuses in the system (that the display can see). In Murphy Standard, this variable controls the overlay icon that shows you there are active DTCs (the Stop or Warning sign on the top of the page).
UserDefineVariable.Dm1.CurrentLampStatus = This is the lamp status for the current DTC being viewed. For a given component, this will be the worst case lamp status on that component. This variable is driving the background color of the box behind the pop-up DTC message at the bottom of the screen in Murphy Standard.
So - using this technique, lets follow this scenario in Murphy Standard.
Engine 1 -
DTC SPN 28, FMI 3 (normally Stop)
DTC SPN 177, FMI 15 (normally Warning)
Engine 2 -
DTC SPN 177, FMI 15 (normally Warning)
The multipacket message for Engine 1 will have the STOP lamp status because that is the worst case for Engine 1. Engine 2 will have a Warning lamp status in it's DTC message.
The screen on Murphy standard will show a STOP sign at the top of the screen because this is the worst case lamp status. When viewing each DTC at the bottom, both the Engine 1DTCs will show STOP because that's worst case for Engine 1. However, when you get to the DTC transmitted by Engine 2, the background of that particular message will show yellow for Warning because that's the worst case for Engine 2.
Hope this helps! I will update my document to be more clear.
john purdum
Sorry for the confusion. My document isn't clear enough on the difference between LampStatus and CurrentLampStatus.
You are correct - J1939 does not provide control over lamp status on individual DTCs - it can only provide status as the worst case for that component since there is only once lamp status available in the DM1 multi-packet message. However, there can be different components on the same bus or on a different bus that can have a different level of status.
So
UserDefinedVariable.Dm1.LampStatus = Worst case of all the lamp statuses in the system (that the display can see). In Murphy Standard, this variable controls the overlay icon that shows you there are active DTCs (the Stop or Warning sign on the top of the page).
UserDefineVariable.Dm1.CurrentLampStatus = This is the lamp status for the current DTC being viewed. For a given component, this will be the worst case lamp status on that component. This variable is driving the background color of the box behind the pop-up DTC message at the bottom of the screen in Murphy Standard.
So - using this technique, lets follow this scenario in Murphy Standard.
Engine 1 -
DTC SPN 28, FMI 3 (normally Stop)
DTC SPN 177, FMI 15 (normally Warning)
Engine 2 -
DTC SPN 177, FMI 15 (normally Warning)
The multipacket message for Engine 1 will have the STOP lamp status because that is the worst case for Engine 1. Engine 2 will have a Warning lamp status in it's DTC message.
The screen on Murphy standard will show a STOP sign at the top of the screen because this is the worst case lamp status. When viewing each DTC at the bottom, both the Engine 1DTCs will show STOP because that's worst case for Engine 1. However, when you get to the DTC transmitted by Engine 2, the background of that particular message will show yellow for Warning because that's the worst case for Engine 2.
Hope this helps! I will update my document to be more clear.
john purdum