Hi everyone,
I have a problem at work which I don't manage to solve. We have a traverse which we want to use for weigh objects and finally transfer the weight to a database. One out of two buttons in the traverse cabin should be pressed in order to save the current weigh in the database. The first button should save it at one instance and the other button at another instance (two production lines share the same traverse).
A couple of load cells are installed on the traverse. These are connected through a transducer amplifier to an AI of a PLC (Wago 750-842, 750-492).
The PLC is connected to the local area network by a wireless router. In a room we have a PC supposed to receive the weight and write it to the database.
I have tried some various methods of transfering the weight from the PLC to the PC on the network, among those:
1) using an OPC server and connecting the PC application with the PLC over modbus/TCP;
2) downloading a html file (764 bytes) from the inbuilt http server in the PLC, and filtering out the weight value as well as the DI's.
The first method didn't work very well since OPC doesn't seem to like the reception problems that occurs once in a while as the traverse moves from one side of the building to the other.
The second method, although it's very "hacky" and ugly, is much better than the first when it comes to stability. However it's far from optimal, due to two aspects, the first being slow update frequency. The other is that the web server in the PLC only accepts a maximum of one connection at once.
The first aspect of the second method (easy to follow, right? )... that is, the slow update frequency, is a tough one. Currently, an if-statement in the Python app on the PC is used to determine whether a button in the traverse cabin is pressed. But since the html file is downloaded once every two seconds, the operator in the cabin needs to hold the button in instead of just touching it once. Our operators are not so funny to cooperate with... two seconds of extra work often means that the new project won't last for long.
So....... What I'm asking for is if anyone could think out a better solution which would work and perhaps work well too. Anyone?
Thanks very much
Peter
I have a problem at work which I don't manage to solve. We have a traverse which we want to use for weigh objects and finally transfer the weight to a database. One out of two buttons in the traverse cabin should be pressed in order to save the current weigh in the database. The first button should save it at one instance and the other button at another instance (two production lines share the same traverse).
A couple of load cells are installed on the traverse. These are connected through a transducer amplifier to an AI of a PLC (Wago 750-842, 750-492).
The PLC is connected to the local area network by a wireless router. In a room we have a PC supposed to receive the weight and write it to the database.
I have tried some various methods of transfering the weight from the PLC to the PC on the network, among those:
1) using an OPC server and connecting the PC application with the PLC over modbus/TCP;
2) downloading a html file (764 bytes) from the inbuilt http server in the PLC, and filtering out the weight value as well as the DI's.
The first method didn't work very well since OPC doesn't seem to like the reception problems that occurs once in a while as the traverse moves from one side of the building to the other.
The second method, although it's very "hacky" and ugly, is much better than the first when it comes to stability. However it's far from optimal, due to two aspects, the first being slow update frequency. The other is that the web server in the PLC only accepts a maximum of one connection at once.
The first aspect of the second method (easy to follow, right? )... that is, the slow update frequency, is a tough one. Currently, an if-statement in the Python app on the PC is used to determine whether a button in the traverse cabin is pressed. But since the html file is downloaded once every two seconds, the operator in the cabin needs to hold the button in instead of just touching it once. Our operators are not so funny to cooperate with... two seconds of extra work often means that the new project won't last for long.
So....... What I'm asking for is if anyone could think out a better solution which would work and perhaps work well too. Anyone?
Thanks very much
Peter