Jump to content

stembera

Members
  • Posts

    79
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by stembera

  1. Hi Steve, maybe firewall problem? Michal.
  2. Dear Sas, if you have two machines connected to one gateway, things are getting little more complicated. Because your router does not know which PLC you like to connect to, you must distinct them by using different TCP ports. You can use port 20256 for the first PLC and 20257 for the second one. Be sure these ports are properly initialized by Socket Init FB on appropriate PLCs. Next task, make your router to divert call from WAN on port 20256 to the first PLC and call from WAN on port 20257 to the second PLC. You can use next screenshot from my router as an idea (Private IP should be replaced with your LAN address of the first PLC; then do the same for 20257 and second PLC LAN address as well). If you have these jobs done, you can use your Remote Operator from the smartphone. Use the public WAN address of the router on port 20256 for the first PLC and the same WAN address on port 20257 for the second one.
  3. Dear Juha, 1. Be sure if you have properly initialized your modem with the init strings which belongs to Cinterion BGS2T. These strings should match both for PC initialization (Init PLC modem) and for the Modem Init block in your Ladder logic. 2. If positive, try to remove commands from the Init FB line per line until the Init FB returns OK. In that moment you have determined which command returns ERROR response. Find the AT reference manual for that modem and check what exactly that command does. In some cases you can omit some commands without lack of functionality. Good luck! Michal.
  4. Dear Vitor, yes, the examples work, indeed. I use this scheme regurarly. If you are on doubt, it is better to break the task into steps: 1. Is your modem properly engaged in cellular network? Modem should be initialized first, MODEM INIT should return Modem status (SI80/82/84, regarding to COM port number) =2, Error code (SI81/83/85) should return 0. If you are using a Check Signal Quality block, Signal quality should be > 0. 2. Is it possible to send SMS? Create some testing event triggered e.g. from the button on display, put your cell number to appropriate field in the SMS SEND block and observe if the block returns no error. 3. Create some SMS to SCAN in the SMS Config block, put the SCAN SMS somewhere to your ladder to be called every scan. Observe if the scan bit is going high after receiving the message. Also check if Last received phone number is exactly your number. You can use the Memory tab in the Output window or just have a look to the hexadecimal numbers in the Last Received buffer (e.g. 12 will be represented as "3231 HEX". If you change your testing code, it is better to restart OPLC to make the modem to be re-initialized. My advice: It is better to use telephone numbers in the international format. If everything above works, join all the pieces together. It should work. Good Luck!
  5. Hello world! I have a problem with HMI display element "Binary text"; it has often (not always!) pink border. This flaw occurs when the element has style "3D pressed", color ON = Green, Color OFF = Gray and Toggle is enabled. It is probably some mistake of display itself because using Remote Operator that display looks normally. I saw this fenomenon on various Enhanced OPLC displays (V1040 / V1210). Do somebody has the same experience? Is there any possibility to get rid of this? Thank you, Michal.
  6. On my first Unitronics training we were told to NEVER use long hold buttons or combinations of more buttons in one time. The reason was to ensure compatibility between displays and Remote Access / Remote Operator. Let us play with the cards we have got. If you need to avoid unwanted click, it is better to use sequential combination of two buttons. First button ("Action") is permanently visible and active. The second one ("Confirm") is visible and active only for three seconds after clicking of the first one. When operator needs the protected function, he clicks "Action" button. The "Confirm" button appears for next three seconds, the Action button goes to disabled state. The protected funcion is activated only if the Confirm button is pressed in the time when it is visible. After three seconds the Confirm button disappears again and the Action button returns to active state.
  7. Dear MTaha, I have bought one VirtualPLC license some years ago. My experience was not very good. Yes, it can simulate very easy programs. On the other side, when you start to test anything more complex, you will find that most of the Functions Blocks are not supported. And the even more annoying thing – every "download" to virtual PLC takes much more time than a download to real PLC! I had an idea to work in the hotel after returning from the site but it was almost impossible. Maybe they fixed the "unsupported FB" bugs but I keep to be very skeptical. Do anybody else some experience with that software? Regards, Michal.
  8. Dear guys, I know this is a little bit old thread but I cannot resist: Every dividing in the PLC world is very risky operation, regardless if you are dividing integers or float. For totalizers (in my case, to count generator power to kWh) I use another solution: 1. Add the value (power in kW, MI0) every second to the MI, let's say to MI100 (energy in kilowattseconds) 2. Make a test if this MI100 >= 3600 (because 3600 kWs == 1 kHh). 3. If it is not greater, do nothing. 4. If MI100 >= 3600, increment kWh counter (for example MI101) and MI100 = MI100 - 3600. 5. Go to back to step 1 .
  9. Don, try to play with System Integers SI103...SI110. Probably you have set them to 0, i.e. OPLC will keep the dead connection for infinite time. If you put some meaningful value to Socket TCP keep alive and TCP keep connection (something between 100 and 600 is suitable), the dead connection will be closed by OPLC and Remote Operator can open them again.
  10. If I can recommend, there is a nice example of High Speed frequency meter in VisiLogic under menu: Help --> Examples --> Version 900 --> Project Examples --> HSC_HSO --> Frequency Precise meter. Program is written for V570 but it will work for V430 also (some changes in hardware config required). Good Luck!
  11. For these tasks, a reliable modbus simulator for PC is absolute priceless thing. If you are in doubts, the first task is to check the setting with simulator. It is much easier to find problems if you can change the communication parameters interactively "on the fly" without changing, compiling and reloading PLC program. When the device communicates with PC without bugs, then it is the right time to start comunicate from PLC. Good luck, Michal.
  12. Thank you very much for your ideas. I will check them, I hope my generators will be happy. Michal.
  13. Dear lady and gentlemen, thank you for the explanation. Yes, I referred the Unitronics_library.zip . Now I see, it is gone. OK, I downloaded all the single pdf files from the web page. No problem.
  14. Thank you Ofir for your response. Yes, I know the structs attached to the UID0808THS module. Unfortunately, it does not solve my problem perfectly. Frequency of pulses from the speedmeter is ~100 Hz. If I choose measurement interval = 1000 ms, I will get frequency 99 Hz, 100 Hz or 101 Hz depending on count of pulses in the last second. For higher precision I need to choose longer time interval but I will lose change of speed in time. This is hardly usable for controlling of synchronous generator – it has to be kept between 49.9 Hz and 50.1 Hz (for 50 Hz grid). During startup and shutdown of generator exact ramp should be kept so I need to get nearly continuous speed measurement. There is HSC->Frequency FB in VisiLogic which perfectly meets my requirements; I was looking for something similar (or even better!) in UniLogic but without success. Maybe there is some chance to use hardware hack with PWM output hardwired to high speed input. Then I can count PWM pulses during 100 pulses from speedmeter. With some math I can get reasonable output but I am not sure if this is a way (at least I will need 1 extra input and 1 output). If there are no new ideas, I can use speedmeter with analog output. Michal.
  15. Hello world, I have UniStream TP-070 with High Speed module UID-0808THS. I need to have measurement of speed of electric generator based on pulses from inductive sensor attached to the machine shaft. The frequency is typically 100 Hz for 50 Hz grid. I did not find the convenient way how to measure frequency with precision at least 0.1 Hz with update rate better than 1 sec. In VisiLogic, there is a block HSC->Frequency for High speed inputs (reload). I did not find similar way in UniLogic. Can someone help me? Thanks, Michal.
  16. Yes, I noticed exactly the same behaviour today. This bug is still not fixed yet.
  17. Hello world, I have this problem: There is a PC on the site with DataXport running on it. It reads data from the OPLC in regular intervals. The problem appears when the PC unexpectedly restarts, e.g. after Windows update or grid blackout. After restart DataXport does not start to run automatically; it complaints that it was shut down unexpectedly and asks for saving the application. After confirming the message it is possible to start it again but it requires users intervention. Is it possible to get rid of this feature, i.e. to start running DataXport automatically even in the case it was not shut down properly? Or some workaround? Thank you, Michal.
  18. To Ausman: Electric output from the plants vary from 100 kW (the smallest, location: Bagdononys, LT) to 800 kW (the biggest, location: Gondingos, LT). Yes, I fully agree, it would be nice to have a permanent source of free electricity.
  19. Thank you Joe, unfortunately using of two byte variable is not a way. My original design of the SMS config used MI and 4 digits. I changed it to ML after complaints from the plant user. After changing from MI/4 digits to ML/6 digits the problems seemed to be solved for a short time. After one week the wrongly formatted SMS came again. Maybe there is some bug inside of the SMS config function block. Today I will make workaround - I will break the variable into 2 parts - sign and absolute value of the operand. The value in the SMS will consist from one binary and one integer variable.
  20. If you cannot get static and public IP address you can use TeamViewer or similar software. The only thing you need is cheap PC running as TeamViewer server on site and UNITRONICS software installed on it. Now you do not need to connect to your OPLC directly, you just use desktop of the PC on the site. Next advantage – if you have many PLCS on the site, the NAT can be challenging task. I use TeamViewer for remote connection to more than 30 sites in 5 countries for many years. Unfortunately, TeamViewer is not freeware, you need the paid license for professional use. Maybe there are some cheaper alternatives (Chrome Remote Desktop?) but I haven't tested them yet.
  21. Hi, the second design is definitely wrong. Even if you break it into two rungs, you will get this: If Probe is set and Coil is set, the Coil will be reset. In the next rung, the positive transition of Probe is still active and Coil is in reset state. So it will be set again; i.e. these two rungs will make the Coil set not regarding its initial state. If you really like this design, you will need third bit variable, let's say Test. Test will be reset before the first rung, and it will be set in the case if Coil is reset. The setting rung should be called only if Test is still in reset state: Test -(R) Probe Coil Coil Test -[P]-------------| |-----(R)-----(S) Probe Test Coil Coil -[P]-----|/|-----|/|-----(S)
  22. I am afraid the answers above are still confusing. Malequardos asked if there is a support for Modbus TCP or for Modbus RTU over TCP. I think the correct answer is: The Vision controllers support Modbus TCP, not Modbus RTU over TCP. Modbus TCP has its own specification by Schneider. Modbus RTU over TCP is what you get if you use serial / Ethernet converters for Modbus RTU communication. For better understanding, read e.g. this: http://www.simplymodbus.ca/TCP.htm
  23. Yes, of course I can but this is impossible to attach here all the code (it is much more than 70 kB). Can you propose some email address? Thank you. PS: Sorry, the attached screenshot from my last post disappeared, so I try to post it once more..
  24. Hello world, I use "Send SMS" block for sending status information from the technology to users. Time-to-time I am facing a strange situation: When an integer variable inside of SMS has positive sign, everything goes OK. Unfortunately, sometimes there is need to send a negative value. Now there is an interesting situation: In some 50% of cases the value is sent normally (value with negative sign) but in the other cases user gets strange value, looking rather as binary complement of value than as a negative number. Example of correct SMS: P 74.0kW, Running OK, Total 279 MWh, Nivo -33mm Zadani -20mm +/-10mm, Nivo start -10mm, Diferencija -707mm, regulacija 1. Example of incorrect format of SMS: P 64.0kW, Running OK, Total 281 MWh, Nivo 65518mm Zadani 65516mm +/-10mm, Nivo start 65526mm, Diferencija 64829mm, regulacija 1. SMS is configured via the "SMS Configuration" block which is called once just after the serial port is properly initialized. I tried to format variables in the SMS as Integer or as Long but the result is exactly the same. Do you know how to make the SMS to be sent correctly? Thank you in advance, Michal. (attached file is a screenshot of the SMS Config block)
  25. Just trying .... are you sure you filled the "Connection --> Communication / PC Settings" correctly? This is my frequent mistake.
×
×
  • Create New...