Machine Automation Forum
A forum addressing machine automation solutions for the complete machine lifecycle. Including offers like Machine Advisor, Modicon PLC/PacDrive, Lexium or Preventa. Discuss and share knowledge on offers relating to cloud-based service platforms, machine localization and monitoring, industrial operations control, motion products as well as safety function!
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-12-01 03:14 PM . Last Modified: 2020-12-14 01:38 AM
Hi,
I'm trying to design a consistent Modbus map across different devices in the same product range. The majority of these variables are being implemented as Status Variables. Some I would like to be set during Programming and remain constant for the life of the machine, and was intending on using the read-only property to prevent remote writes from changing them.
If I enable read-only, it disables the ability to set the default value.
Am I going about this the wrong way or should this work?
I'm running EcoStruxure Machine Expert - HVAC v1.2.1.
Cheers,
Jack
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-12-03 10:58 PM
Hi @obscuresc ,
I see 2 options:
1) use the MAC Address, it's unique
2) write into an EEprom parameter, load its content in the init task into a RAM variable. In the background task write continously the RAM value into the EEprom.using target block sysWritePar<type>(adr(eepromvariable), ramvariable). EEprom is protected from rewrite of the same value.
With the solution 2, the eeprom could be changed using a param.bin or a new download all.
Federico
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-12-02 06:18 AM
Hello @Luigi_dAndrea . Do you know who can support on this?
Thanks in advance,
Regards,
Rodrigo G.
Industrial Automation Community manager
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-12-03 02:49 AM
Hi @obscuresc @Rodrigo_Garcia ,
when you define a Status Variable as Read Only, it will be protected from modbus writes, but it is supposed to be updated from IEC code in the Programming perspective, that's why default, min, max are disabled in this case.
Regards,
Federico
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-12-03 09:09 PM
Hi @FedericoM,
That works nicely if I want to do a read-only variable for the state of the machine or using a program at boot time to set constant information.
What if I want to have a serial number that is unique to each machine that should not be available to change by the end user, but can be set prior by us before a customer gets it?
Jack
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-12-03 10:58 PM
Hi @obscuresc ,
I see 2 options:
1) use the MAC Address, it's unique
2) write into an EEprom parameter, load its content in the init task into a RAM variable. In the background task write continously the RAM value into the EEprom.using target block sysWritePar<type>(adr(eepromvariable), ramvariable). EEprom is protected from rewrite of the same value.
With the solution 2, the eeprom could be changed using a param.bin or a new download all.
Federico
Link copied. Please paste this link to share this article on your social media post.
Posted: 2021-02-08 01:22 AM . Last Modified: 2021-02-08 08:29 PM
Link copied. Please paste this link to share this article on your social media post.
Posted: 2021-02-08 01:22 AM . Last Modified: 2021-02-08 08:29 PM
Read these instructions carefully, and look at the equipment to become familiar with the Modicon M172 Performance Logic Controllers, Hardware User Manual Prg (Programming), the menu Set Status (M171 Optimized only), and Alarms of the M171 minimum/maximum default values of the resource displayed on.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2021-02-08 01:41 AM
Hi,
For Having a unique serial number you can do the same, Have a read only variable (eg.Var1) and move Local variable(eg: Var2) data in Boot task/ init task to Var1. So all you need to do for the next machine is change the value of Var2 before download.
In this case the serial number is controlled by you and is not accessible to customer.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2023-06-16 11:50 AM
Hi @all
I use M172 as device slave.
Attach the digital input to a register address in the status variable. I used modbus poll to read that address. it's ok. but I want multiple digital inputs to be on the same register which is binary 0000111...
eg Di1 : 40001.0
di2: 40001.1
how can i do it please help me make it
Thanks
Link copied. Please paste this link to share this article on your social media post.
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.