Jump to content

Emil

Members
  • Posts

    455
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by Emil

  1. HI Kvazzy, Attached is a simple demo for Jazz as Modbus Slave on RS232. To be able to connecto to SCADA, you need first to relate to U90Ladder Help topic Slave address table, and then to the User guide of specific SCADA. Modbus Slave Jazz RS232 EM.U90
  2. Hi Tim, My advice - go to relevant Help topic and Copy/paste from there the subroutine name.
  3. In fact - it's too big! We always recommend: Write one rung per net! Write simple, short nets! Following these roles, you will understand why in fact the nets are too big!
  4. Hi, The result you receive is normal. PLC checks the input at the beginning of the scan and operates PTO/HSO Run bit at the end. In this case you have reaction up to 2 controller's scans. How you can improve the sitation? You can connect the sensor to HSC Input and set this input as HSC Reload with target 0. Then, you need ot define an interrupt subroutine related to this HSC Reload. In this interrupt subroutine (see Help for details) you will Reset PTO/HSO Run bit and will set another one MB/XB. You will divide your application to relativelly short subroutines. In your Main routine, before calling the next sub, you will perform a simple net - N.O. contact of the bit you set in interrupt sub - reset this bit and jump to End. With this procedure, performed properly, you will decrease delay from two scan times (I guess about 5-15 ms) to less than 1 ms.
  5. Which model of contgroller you're using? Can you try Autotune - on fixed Setpoint - recommended the higher one (end of Ramp) or 10% lower. I'll recommend using Autotune of the controller itself. It's very useful to make logs with PID server. Then, you can post them for our review or send ot support@unitronics.com. If you're using Vision controllers, I'll recommend ot add in Ladder the module "Read Contgrol components"- with coeficient 100. This will give you CVp, CVi and CVd, where CV = CVp + CVi + CVd.
  6. Which controllers you're using? What is the distance between them? Maybe in thisw specific case data transfer via Master - Slave protocol can be better soluiotn. Modbus? Ethernet?
  7. Do you mean, that each time you will send different data and the combinations will be practically endless? There will be no any repeatability?
  8. Let's say you will define 5 x blocks UniCAN Send. Each blck will have its own struct module, which will close requested data to a vector of 16 MI. Having in the second unit the bit "message received", you will activate all 5 Struct modules to "open" te data to requested registers. In this logtic, maybe you wil l"open" the same vector more than once. I don't see any problem on that, as the vector comes from communication and it wil not change until the next data received.
  9. Hi Zbig, We are checking the problem with export ot Excel. Meantime I have a "crazy" idea: You can make a data table with row for each tank. The column properties will be "address of". You will set there theq addresses of the real operands for relevant tank. Then, in Ladder, you wil make a subroutine, which wil lhold "tank logic" - with "temporary operands". You will make a loop - reading real data for relevant tank to "temporary operands" > run the logic to proceed them > write results from temporary operands to relevant tank.Then you will increase the pointer and will go to te next tank. This way with one sub and one DT you will complete your application.
  10. H Sean, Can you point me where you found "write system timers"? I searched in the documetn, but didn't fins such command. In general, I think you need to start from opposite side. You just need to know which kind of informaiton you want to transfer in your communication and then to search where this information is located and how to transfer it. Knowing that, it will be much easier to point you to the right source of information and to provide you with the relevant help.
  11. You can send many messages "at a time". UnuCAN send is not synchronised with scan time. There is a buffer of 16 messages x 16 MI each. In fact, there are two buffers x 16 messages each - for low priority and high priority. In your case - you can send messages untill the buffer is not full (see relevant SI - it needs to be less than 16!). Every time "Message recewived" bit rise, you will extract all messages expected. This can lead to extract twice the same message, which in this case doesn't seem to me critical.
  12. Please send a simple demo to support@unitronics.com. Please explain how to simulate the problem you face. We will review it on sunday, when we're back in the office and will advice.
  13. Sorry, but I cannot understand what is the relation between "String library" and "negative number". Please explain!
  14. I just passed your ideas to our R&D. I hope they will make some changes in the spirit of your ideas.
  15. VisiLogic HMI editor displays the longest string. This will help you otp design properly the displays and avoid situation, when there will be no enough space for the text in specific language.
  16. Only enhanced models V130/350/570 support J1939.
  17. AI of IO-ATC8 are not isomlated. It seesm there is a current loop, or a strong noise when the pump is running. Do you have good grounding point in both cabinets? Is the controller and the power supply grounded properly? If you will keep the sensors in the air - not touching objects or liquids, whch are in touch with ground - is the problem still occure?
  18. We have no plance to develop Wi-Fi module. Bluetooth module is not approved in most fo the countries yet.
  19. You're welcome! BTW - if you want ot reset vector of bits, the best way is to use SB0 as value to fill. Now you know you can use it...
  20. You can! Just move the scrol barr up to see this option!
  21. Hi Vidmas, PID output CV = CVp + CVi + CVd (Proportional + Integral + derivative components of Control Value). Vision gives the option to read these components. You need to set FB PID module "Read Control components". As PID calculations are performed on 32 bit base, the original numbers are quite big and usually not easy for understanding and plot with PID server. That's why in left side you can set Divider. According to my experience, the best value to set there is 100, but other values can be set too. Read Control Components needs to be activated with continious condition. It can be located on Main Routine and connected direct to the left line. The values on right of the module will give you CVp, CVi and CVd. Then, in PID server, you will set the addresses of mentioned MI and will get trends of these 3 components, which will give you closer look on what happens inside PID. Yes, the address of the 32 MI vector must be the same.
  22. Advanced Frequency measurement funciton operates together with HSC Reload. It can be linked only to Hardware, where Reload is supported!
  23. PID parameters are unique for each system. Finding "manually" these parameters takes time even to quite experienced PID user. Autotune procedure performs few On-Off cycles. The number of these cycles (1-3) is set in the module. How this operates: At the beginning, the controller set CV to max. Comming ot setpoint, it switches CV to 0%. After PV falling to SP minus some hysteresis, it starts the next On-Off cycle. During this process, PV makes "waves" of overshoot and undershoot around setpoint. These waves are unique for each system. The controller learns these waves and according to their parameters - length, amplitude, asimetric... calculate the best PID parameters. How long it will take? This depends on specific PID system and number of cycles chosen. In some systems it can take less than 5 seconds per cycle, in others - more than 5 hours! Activate Autotune has any sense only in a real closed loop system, on real working conditions. Activating Autotune "on the desk" and trying to simulate On-Off process - turning some potentiometer in the simulator or moving temperature sensor from glass with hot water to glass with cold water can show if the logic works at all, but PID parameters, calculated this wy have nothing common with those one, neded for the real system to run properly!
  24. It's not so simple, but anyway... You can set decimal place of the moduloe NUM ot ASCII as register, not as constant. Then, you can build some logic to set the decimal point on the "right" place.
×
×
  • Create New...