Jump to content

All Activity

This stream auto-updates     

  1. Today
  2. Yesterday
  3. HI all, If possible, I would like to know the different approaches people do on reading/writing to modbus devices. I have always run seqencing as a count based routine, with a maximum of 20 slaves being polled, each call being 2 seconds apart for simplicity and a slower network running at 9600. Most of the time, actions on each one are not urgent and can wait for them to roll around next time in the count, mostly reading but occasionally writing as well. I am having to add into one system a device that is poorly laid out in it's addressing. Normally I would read an entire vector out of a slave, and if needing to send things back altered, it would be adjusted where necessary and then sent back as the entire vector. I then read it again to ensure it is all correct. There might only be 10 things I vary, spread across a Vector of perhaps max 90 in length. In this case, however, the slave utilises some intervening addresses internally, so that if you read a register that you aren't working with at all, by the time you send it back the slave itself may have varied this item and writing the "old" number (via sending the entire vector with only the desired changes) upsets it's operation. It is dumb, but that's the way it works. The only way it is possible to work correctly is to do the large vector read, but then send alterations back in a myriad of separate sends, just addressing the register in question. Just to make it doubly interesting, the new unit also has the need to be read/written to more often than the rest. I have played with varying the count sequencing so that if anything read out of the unit changes in the master "calls", then it interrupts things and the register in question temporarily becomes next in line. But this gets complex if a whole host of things change at once, meaning a FIFO stack. And not forgetting that the count routinely checks the new unit 5 times as often as the rest. I can see a situation where frequent changes might even stop calls to other slaves far longer than desirable. I have also been trying things using a drum, and this works quite well. It has innate fixed time, you can vary calls all over the place using the goto, and also speed the general operation up using successful comms flags (delayed a few scans to totally clear buffers) to force progress to the next step. The main advantage is that it easily varies calls all over the place, in a fashion fairly easily seen on the initial programming screen...ie the drum layout. The end result is similar to the count variation, but totally different approaches. All of these seem very processor intensive, hence my ask. I know some people's ideas might be very profound and they don't want to share their ingenuity, but if you can, please do so. I'm sure such a discussion will benefit lots of people. Cheers, Aus
  4. Last week
  5. All good. I think we've all had one of those days.
  6. Sorry for grumbling Cam. Was very annoyed yesterday with a supplier who didn't read my specific part numbers on an urgent device and got me something else, ("we thought you wanted this instead") which caused huge headaches, and it just flowed on to here. Apologies and cheers, Aus
  7. FTP Client Issues

    Hi Cam Turns out that even the basic program, just initializing the card and then opening the sockets, the PLC isnt doing anything However when I run the same program in a Samba it works weird PLC is at Unitronics now being dissected I guess,, I have 2 doing the same thing!
  8. Hmm sorry missed that somehow
  9. FTP Client Issues

    Do you have The SDcard Explorer installed? If yes set it up to listen (Ethernet listen)on a port say 20275 and change the port in your tcp connect to match. Click ok the click listen. Set the IP the PLC is to connect to your PC's . Trigger the connection thru the PLC LOGIC if it connects SB 150 will set and you can browse the contents of the SD card in the ad card explorer window. This will let you test your connection logic.
  10. In this specific network can you access a different npt server? With the PLC functioning in different networks it would seem to be something local to this network. Can you work from the outside in having the plc make a request from a public ip directly from the ISP's modem or router and then move it back behind any firewall/DMZ which is the first line of network security if it works. So long as it keeps working keep moving it back till it stops the last line of security you put in front of it should be your issue. Something else to check out would be managed switches. Is there a proper route from the PLC's local IP address to the outside world. Aus suggested plugging a PC in and checking the connection, take it one step further and assign the PCthe same IP as the PLC. Some facilities and network admins assign static IPs from different sub nets than the DHCP pool a PC would use. Which can make a PC on the same drop work but the PLC won't.
  11. Hi self, Quick initial thoughts: Put a laptop on the same location with the same numbers and see if it connects ok. Have you sniffed around the problem network looking for clashes? Disconnected everything else? Done an initialise on the PLC? And as a side issue, I would never have a reset after a coil, like you have with MI 739 . I always separate things out. cheers, Aus
  12. Linearizing Analog Input

    Hi Newt, What modules are you using for your inputs? This is relevant as you have to relate numbers to the resolution of the device. The same rules also apply to outputs. In case you haven't found it, also check out my calculator at : Pls let us know and we'll help further. cheers, Aus
  13. I am new to Unitronics and have a simple question on the Linearization block. I have a 0-10,000 psi transducer that is sending a 4-20ma signal. I assume I input the values as shown below but do not have the transducers yet to verify. If someone could verify it would be greatly appreciated. X1=0 Y1=4 X2=10000 Y2=20
  14. When I request the service to the ntp server I get only the largest 32-bit integer in response. * Occurs only on a specific network. * We tested with other plcs on the same network without adequate response. * The same PLC in other networks updates the NTP perfectly. * In the network with problems, we changed the router that was working along with another V570 in another network without problems, changing only the configuration of the ISP, and nothing to update the time correctly, always in response we get: 4,294,967,295 ... Any idea? We have already talked with the support of the Brazilian ISP (COPEL Telecom) and they suggest that the error occurs in the machine or the router, but I have already verified that basically the error does not come from any of them ...
  15. Analog Out Example

    I've got it working. Thanks for your help.
  16. Working on a project with several UIA-0800A analog input modules. We are using all 4-20 ma transducer input. Pressure, Flow, Weight(load cell), pH. the only difference is for some of the transducers we power the loop thru and external power supply (24VDC) for the pressure transducers. results are solid. Others the loop power is provided by the transducer. For example for the Load cells the scale provides an 4-20 ma output signal with loop power to the UIA-0800A. What is very strange is the input signal floats around at a slow steady pace. including going below 4 ma. at first the number will appear solid then it will slowly drift down below 4ma down to zero and then will slowly climb back to a fairly accurate reading. It continually oscillates over a 1-3 min cycle. Very strange . My question is has anyone experienced this problem, and is there a minimum voltage required into the card. some of the loop power from the sensors are less than 24VDC more like 15 Any input is greatly appreciated FPM
  17. Hi Wijdoogen, I am very much interested PLC programming, I have more than 12 years of experience AB, Siemens PLC. Let me know if you have any projects to share. Thanks Hari
  18. But if you are having such large variations on a PT100/1000 I suspect there is something wrong in the wiring. Long run? Screened? Correctly terminated including the screen? A myriad of other things to look at. The reading should innately be very stable. cheers, Aus
  19. Hi there, I try to initialize Enfora modem PC-side. I followed all of the steps from the tutorials on the Internet. I tried different Baudrates, tried Hyperterminal... When I use Baudrate of 9600, and the AT commands defined in the Modem Services, all of the commands are successfully completed and when it comes to the end it always says: Modem could not be initialized. Do you have any advice what can be the problem?
  20. Temperature sensor problems

    There is a filter built-in to the Hardware Configuration for the sensor input. In addition, there are filter Function Block options available under the Function Block (FB) drop down menu when in ladder view.
  21. Temperature sensor problems

    I tried dividing by ten to display it. Where could I find these filters to stabilise the temperature reading?
  22. Temperature sensor problems

    Thermocouple inputs normally have an implied decimal point to give you a reading in tenths of a degree. Either display the value using the implied decimal, or divide by 10 to get an integer value. There are filters available to help stabilize the temperature reading, if needed.
  23. Analog Out Example

    Will passing the result value from Linearize to the tag assigned to my AO cause it to output my desired voltage? Yes it will.
  24. Hello, I have a problem with messuring temperatures. The setup goes as follows - V700 - EX-A2X - IO-PT4K-PT1000 sensor. IO-PT4K type is PT100/1000(alpha=0.392) mode is Celsius . I get values like 220, 200 that seems to be like temperature 22 multiplied by 10. Why are these values so high or it is just coinsidense. Also the keep changing like from 170 to 220 in seconds so I can't build control based on temperature messuring. Any thoughts?
  25. "SQL Query" function block usage

    When you are using "SQL Query" function block the first parameter is Query that belongs to an SQL data base. for example: In this example I've created a Query named "My Query" that belongs to data base "Database1". When I will use "SQL Query" function block with "My Query", UniStream will connect to "Database1" according to the specifics I gave it - IP =, Port = 1234, etc... In your case you preforming an "Insert" query, meaning your SQL client (the UniStream) will write data to the SQL Server, so you don't need to assign Outputs tags because no data will return from the server. You do however can see the execution state in your query "SQL Query Struct". In my example I have one "SQL Query Struct" for "My Query": Here I can check if the query executed properly and what is the query status report. Using Outputs - If for example I preformed the next query: Select top 1 PhoneNumbersColumn from MyCustomerTable I'm actually reading data to my SQL client (the UniStream) from my SQL Server, so I should assign Outputs tag for the 1 (due to "top 1") value the server returning. More about SQL in here. Using Parameters - If for example I preformed the next query: Select top 1 PhoneNumbersColumn from MyCustomerTable where CustomerID = @ID I'm requesting my SQL client (the UniStream) to take "@ID" value from my Parameters , and use it in the query. So "@ID" can be changed in each Ladder cycle and I can use the same query to request "PhoneNumbersColumn" according to a dynamic "CustomerID". The "@ID" called a placeholder and you can track your placeholders in this screen: There is more information in the UniLogic help:
  26. bonjour a touts j'ai acheté une station de traitement de l'eau avec un automate unitronics et le programme de formation. La societe a fermer. J'ai la notice avec les branchement ps (bornier de la station. Sur cette station il ya pompe1, pompe 2, un néon uv .un pressostat de colmatage, un pretossotat de ballon vessie, un compteur eau, un bac disconnecteur avec sonde haut , Moyen, bas, je peux vous envoyez le schéma cordialement jerome
  1. Load more activity