Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


bobnorway last won the day on August 13 2020

bobnorway had the most liked content!

Community Reputation

3 Neutral

About bobnorway

  • Rank
    Advanced Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. what is a better forum? I can't follow this now.
  2. I think this problem is not a very good fit for a newbie. Decoding a large variable ascii transmission could better be done with a unit which has more string tools for handling the data blocks. Perhaps then sending just the extracted value to the unitronics. I assume it is always the same ODBIS code value you require? Incidently the documentation says the telegram is sent every second not every 7 seconds.
  3. I agree with Flex727 a file is as delivered to the customer should not be changed, updated or modified. looking at a file and exiting without saving is not modifying it. version control is best done with date and time. what if you bought a house and the bank changed the date after you had signed the contract?
  4. add the values from first byte to the last byte to the sum. (1+2) H0b + H00 = H0b (S+3) H0b + H01 = H0c (S+4) H0c + H00 = H0c (S+5) H0c + H00 = H0c (S+6) H0c + H00 = H0c (S+7) H0c + H00 = H0c (S+8) H0c + H00 = H0c (S+FF) H0c + Hff = H0c mask off values larger than one byte) (S xor 3c) H0c xor H3c = H30 The H3c is probably to ensure that the check sum which is the last byte is not zero
  5. PLC PID is a mathmatic function not hardware based. Most PLC PID implementations are for regulation 0 - 100%, or reverse for cooling. 100% of 'what' to do 'something' is not realy their bussiness. This makes the PID function "universal". It is your job to scale the "footballs per day " PID input to 0-100%, and then scale the PID output from 0-100% to "footballs". In your case with the PID output do a simple scaling (PIDX * 2) = 0-200% then subtract (PID2X -100) gives a range of -100 to +100 have a good day.
  6. We had a similar problem a while back and ended up puting an optical isolator between the sensor and the Unitronics.
  7. I whole heartedly agree with "almost never", but as the saying goes "never say never" When working with most sensor devices you have a finite range 0-20ma = 0-100% or 0-10bar or 0-12feet using whole number math insulates you from idiot number results like a 1234% full tank, it simply can't happen. However you are trying to average positive and negative numbers, this would be a good place to have an exception to the rule of thumb and use real numbers. In "the old days" plc's could not handle real numbers well and used a long, long time to calculate them th
  8. Standards Once apon a time in the 'good old days' there was a standard to ease interfacing of different equipment together. It was called 'RS-232' for simple and effective serial interfacing. The voltage was a given always a -12 to +12 volt swing, a safe voltage with reasonable noise immunity. Then one fine day in order to reduce parts count it was implemented as 0 to +12 volt. Still almost as good and cheaper. As terminals became PC's the parts count was reduced so the readily available 0 to +5 volt was used as a power source. Not quite as good but even less expensive. T
  9. Not to discourage you but your task is difficult. RS-485 is a "recomended standard" it comes in both 2 and 4 wire versions. Mixing different suppliers, hardware interfaces, software protocols, all at once will be a challenge. Things like a the standard definition of high byte low byte position, and starting count position, is 4000 or 4001 the first byte? Neither Siemens nor Unitronics are "True" Modbus followers. Read up on what Modbus should be and what the supplier has actually implemented. All of these problems must be overcome before your own control logic can be
  10. a good rule is to make your pulse to a flag bit, Px -> M123 then the flag M123 will be the same for all of your program code. using a frequency function several places in the code could be a problem because it is asynchronous and can change during your program execution.
  11. heres a quick example of what I ment packing bits, the bit order does not have to be contigious It should be flexible enough so you can get something done. Test_Bits.ulpr
  12. perhaps by packing 8 or 16 or 32 bits to an uint then store a copy and compare with it. any value change can then trigger an unpack rutine to identify which bit changed.
  13. There is NO! warning given that updating pc software from 1.25 to 1.28 requires a re-load of the plc! A quick program change for me has evolved to an hour long hasle with: (1) ethernet cable no connection!, (2) usb cable no connection, (3) then to usb memory stick! First by pc programming a memory stick then plc programming from uniapps takes time! And if I didn't happen to find a 'correct' stick to do this with in my bag? Dear Unitronics the plc control is serious business! Damaging the customers production line costs money! You can NOT play with systems in
  14. check your grounding, analog inputs don't tolerate much common mode offset. the fluctuating siganal could be routed near a noisy source, for example a VFD motor. temporarily switch the two and see if the problem follows the sensor.
  • Create New...