How top make a setpoint adjustable locally and remotely?

I got called into a meeting, I'll be back in an hour.


no problem.

I think I still don't understand the architecture, e.g. are all of these different entities?

  • remote side/site
  • polling PLC
  • main plant (HMI?)
  • L81
  • local OI
  • station
  • entity(-ies?) that is(are) holding N7:0-N7:50 and N7:51-N7:100



can the main plant write setpoints to the local OI?
 
Yea, see that's exactly what I want to avoid. That will be in the wrong setting every time. I want to hit each actual setpoint from either side.

I'm gonna have to read these values back at the plant to make this work aren't I?




It isn't easy. You have read all values to main plc then comparing then to lastly changed variables and write then to remote plc if values are newer on main plc.
Lot of coding and you need sevaral temp data arrays for comparing.






Or you can do selection bit on remote plc. Then read this bit on main plc and if there is rising edge on this bit then disable writing on main plc and start read setpoints to main plc from remote.


Main plc can have timer which disables this remote plc's permission automatically after certain time and made also switch to remote hmi for disabling without need of wait of timer.
Also you can disable remote permission on remote HMI / plc side after changed setpoints and waited at least so long that remote plc have allready readed them.

As you read or write setpoints to remote there is needed some 4-5 different messages but no need for temp arrays and data comparing whit this method.

Comparing data approach can be done less messages (3) but it is more complex.



1. Read measurements
2. read setpoint source selection bit from remote

3.1 write setpoints from main to remote (if selection is = 0)

3.2 read setpoints from 3 remote to main plc. (if select is = 1)
4. write setpoint source selection bit to 0 if timer expires. (you can use different bit and rising edge detection on remote plc so no need to oneshot write)



Only 2 messages of these are used depending if main or remote is source for setpoints. No need to 2 different setpoints and it is easier than comparing values.
 
Arghh. Integer registers make timestamps difficult to handle.
Yeah I'd imagine you'd need a DINT for a useable timestamp, but you could easily split it into two 16-bit chunks for transmission and reassemble it at the other end. If you have a DINT, you could either write a simple AOI to make an integer timestamp that can be read as if it were a string (e.g. 2024-01-18 14:33:55 becomes 118,143,355 - including the year is probably not necessary) or you could just use the "milliseconds since 1973" style.

Of course, you could use a single INT with some additional logic (probably wrapped up nicely in an AOI) and a reduction in your resolution. If there have been no local changes for over say 10 minutes, forget about checking the timestamps, just assume it's valid and act on it. If not, check the timestamp, which could just represent the number of 5-second blocks since midnight. You'd have to handle the midnight rollover, and your resolution is lower, but it might be viable if you'd rather that approach than reassembling a DINT
 

Similar Topics

Hi need help why this “failure 5 emergency stop “ appears at every startup in the morning ? Have to shut off main switch at least 10 times on...
Replies
19
Views
311
Sorry for my lack of knowledge, beginner here. Yesterday, we had a Pro-Face SP5000 HMI fail on us. The technician said that the HMI had the blue...
Replies
2
Views
123
I'm looking to get some spare keys for this PLC. Does anyone know a source or have a part number? My searches are turning up nothing at the moment.
Replies
1
Views
77
Hello all, Hope everyone enjoying their weekend. I just recently bought a laptop to upgrade my old one with i3 its getting slow on me. But when i...
Replies
7
Views
403
Apparently there are a lot of these systems still running the field today so I thought perhaps this information might be helpful to someone in...
Replies
0
Views
91
Back
Top Bottom