Popular Content

Showing content with the highest reputation since 05/24/2017 in all areas

  1. 2 points
    Hello, Starting from UniLogic 1.19.80, you have the option to set a new global action named "Take Screenshot" that can be triggered through Ladder. (it is linked to a bit tag that you can control from ladder). Hope this helps!
  2. 2 points
    Well the results are in and I was not correct on the condensation hypothesis. The final end customer has placed a chemical injection pump in tandem with one of the expected devices and there was no noise canceling hardware installed on it. Even worse the output they decided to piggy back off of changes state once every 30 - 120 seconds depending on conditions. How do I know this? Using the capabilities the Enhanced vision products have I put a data logging .CSV write to the SD card function that took the status of every input, output, analog input, analog output, alarm, and system messages every 1 second. I then had a the PLC create a new file every day at midnight. Just to follow a complete process. The two units without any noise canceling hardware on outside relays, starters, and valve coils failed at least once per day. (Look at the previous post to see the 4 configurations tested) Over the same time period the two units with AC and DC noise mitigation hardware installed ran 24 hours a day with no problems. After 3 days of failures the noise canceling parts were installed and all 4 tested units then had AC and DC noise devices. After installation of the noise cancelling hardware all 4 sites have run flawlessly. By logging this way I was able to narrow down my focus to just a single output from the PLC and further determine that the contactor to run the chemical pump was the cause of the noise. I was also able to confirm that the PLC was absolutely, definitely, positively, without any question or ambiguity ceasing processor function and staying stuck on whatever was being executed at the time of the brain freeze until a loss of power allowed a system reset. The 120 VAC noise mitigation parts are a combination of a capacitor and resistor OKAYA product number XAB1201 The 24VDC noise mitigation (transient voltage suppressor) parts are a Bi-directional zener diode at 28 volts. These are part number SA28CACT made by Littlefuse. The good new is the fixes are not expensive and we found them. The bad news.....the end customer changed something then swore they never touched anything and cause a whirlwind of pain and anguish that we have to pay for as a company. Oh well welcome to industrial electronics. For FLEX727 On the watchdogs I had to have installed it is an ugly adder but works well. There is a company AIROTRONICS that has two watchdog timers (one with excitation at power up and one with excitation only when the first pulse is received). I thought I could the model with excitation on power up and it works but only once (this is part number TGLR ) The other product is what actually worked for me and is part number TGMPL(several more selectable configurations but search this number in Google and it will come up). To make this work I had to run the first signal pulse through the normally closed contact on the relay. The relay worked but a little too well. There is not a long enough time delay to power down the PLC before the power is re-engaged to create a PLC reset. I had to add a delay on make timer along with this to actually cut off power long enough to create a PLC reset. (tried to find a usable reset on the PLC CPU and there is not one that mere mortals can access). There is a rest on the CPU as one would expect but soldering wires to the surface mount chips was way beyond my mandate and beyond anything I could ask a field guy to install. I will be talking to the timer maker to see if they can add a time delay on the reset function and then it will be a clean installation. For the creators Why does the internal watchdog built into the CPU of the V570 not ever figure out the CPU is locked and reset the CPU. looking at the wiring diagram for the main processor it has the separate watchdog circuitry I would expect it to have. Is this something that has been accidentally changed in a past firmware update and forgotten ever since? Is it an intentional choice....if so please explain? I am not trying to shoot arrows, I love my Unitronics-products and they have worked well for many applications for years, but this is a serious condition that should be investigated. It is an easy fix in firmware (at least it appears to be) it just needs to be done. (or redone as it were) Thank You Keith
  3. 1 point
    Just use any unused MI to hold the value that will change depending on the state of MB 31.
  4. 1 point
    Hi, You can change the backlight intensity using system integer 9. The values is between 0 -100. 0 - off 100 - full
  5. 1 point
    Hi Nikola, If OS is the last, and PLC does not display text with empty project, contact your distributor for further processing. B.R.
  6. 1 point
    Hi, This forum is dedicated for Unitronics PLCs programming. If your program information exchange between STM8S103F2, or STM8S105, and Unitronics PLCs, you are welcome. Your current topic scope i out of this forum. Please Google for "forum programming STM8S103F2 OR STM8S105", and you can find related forums, where forum members can help you with your question. Best regards.
  7. 1 point
    Hi Nikola, Save your project. Create a new empty project with some text on display. Download this project to PLC and observe display. Does it show text? Set SB 9 to 1. Do you see backlight? If empty project show text on display, PLC works, and you have to review your project to find error. Look what you changed in project before having display problem. *You may call display at each scan. B.R.
  8. 1 point
    You can't use a local timer, since local tag means that it is being created on the stack when you enter the function, and deleted when you exit the function. This means that it will not count. The same thing happens with a local int16. Everytime you enter the function, a new int16 is being defined on the stack with a value of 0.
  9. 1 point
    Does the screen come up if you get into info mode? I can't remember whether SB9 controls this or only when the program is displayed. cheers, Aus
  10. 1 point
  11. 1 point
    Hmmm, I was thinking of the Vision products. I agree that I don't see any applicable display System Integers. It does sound like a hardware fail, but you should check with Unitronics Support for any procedure they might have to troubleshoot. Just email with your problem description above to: support@unitronics.com.
  12. 1 point
    Have you gone online and checked the value of the System Integers for contrast and brightness?
  13. 1 point
    Hi, there are new versions on the website of Remote Operator, SD Card Suite, UniVision Licensing, Download Manager, etc, which now have the manifest that makes it request an administrator rights in order to start. Ausman has already installed them, as far as I know. Please tell me if the installation went fine for you, and the programs runs OK. If you encounter some problems, like program doesn't start, or Ribbon is missing from the program, please tell me, so I can look in to it. Thanks.
  14. 1 point
    The "Numeric Password" would be a separate entry. Place an MB in the "Legal Entry"box then use that bit to SET another bit to be used to indicate a password has been successfully entered. You can then use the successful password bit to turn on or off a "Disable" bit for the entries you want to protect. To log out, RESET the successful password bit.
  15. 1 point
    It happened to me when I had "Set String Library" called in every scan. Easiest way to find error if you have your program divided into subroutines is to put MBs you don't use in front of "subroutine call" in main routine and call them one by one by setting MBs.
  16. 1 point
    Hi, For PID there are 2 structs: PID Config - This is non retained struct which will be used for running the PID. PID AT Parmas - This struct can be marked as retained. Once you completed your manual tune or autotune, you need to use the Ladder element "save PID Autotune data" from the PID Config struct to the PID AT Parmas struct.- This will save the PID data into the retained struct. On power up you will use the ladder element "Load PID autotune data" from the PID AT Parmas struct to the PID Config struct.
  17. 1 point
    It's the latter. I just tested and VisiLogic still allows multiple networks in a single rung (don't do it, though), but doesn't allow multiple HMI calls in a single ladder rung. Perhaps an older version did allow it.
  18. 1 point
    Joe Tauser was kind enough to educate us all on this topic and wrote a very nice example program, which can be found here:
  19. 1 point
    First off, use COM Port 2 for Modbus unless you have no other choice. Port 1 is used for programming and OS updates - the PLC will stomp on your communication code if you need to log in while the program is running. You want to use the SCAN_EX block in new applications. The SCAN blocks are for legacy support. Be sure to read the Help on "Slave Address Tables" to see how Unitronics maps Modbus addresses. I modified your code a bit to show good programming practices. You had several logical statements in one net in several locations, which is generally a no-no. Look at what I've done and you'll understand. Additional nets cost nothing, but having too much going on in one network can cause unexpected behavior because of the compiler. I found this on the web for the Pi side: https://www.cooking-hacks.com/documentation/tutorials/modbus-module-shield-tutorial-for-arduino-raspberry-pi-intel-galileo/ Joe T. modbus car spray1 JT.vlp
  20. 1 point
    Thanks for letting us know you got it solved.
  21. 1 point
    Turned out I didn't call the function. Your input helped me solve the puzzle. Thank you!!!
  22. 1 point
    Is this in the main routine? or in a subroutine? is the subroutine being called?
  23. 1 point
    Also, do a search on the tag, "Control stick pos..." to make sure you're not assigning it a value anywhere else in the program.
  24. 1 point
    There are 2 options: 1) Use the Message Composer and then use Build Message 2) There is a UDFB that someone wrote, that does that.
  25. 1 point
    I am reading what you have said and one piece does not make sense to me. You say you have short wires connected. What does that mean? If you are saying that you have a single wire shorting (for example) T0+ to T0- then this will never work. You can make a home made thermocouple out of any thermocouple wire set by stripping and twising the positive and negative ends together on one end and then correctly connecting the other end to the "T" terminals. (The wires can not touch anywhere exect the end you twist together or it will not work correctly) The wire with the red insulation on it goes to "T-" and the other color (color depends on thermocouple wire type, K type is yellow) goes to "T+". The wire in your case must be K type thermocouple wire and any other wire types will not work. Good Luck Keith PS: In your first post you said that all inputs are maxed out and one is different. Are these numbers the same all of the time........Paying attention to the one that reads 11460 even if nothing is connected to the input in question on the IO-ATC8. If the numbers do not change then you are not communicating between your PLC and the EX-A2X module. When communications is lost the numbers in the MI get fixed in place wherever they were last. Test this by forcing a value into one of the MIs you used to map the thermocouple inputs .................. If you can change the value of the MI you are not communicating .............. If you can not change the value from what is there already then you are communicating.
  26. 1 point
    If you needed to swap the bytes in the PLC, as far as I can see you can do it in two steps: 1. Use the "Vector" -> "Struct" block to take the MF bytes and copy to a DW. This copies the bytes as they are, instead of interpreting them as a number 2. Use the "Vector" -> "Swap Bytes" Function and use the "32-bit" option to swap the upper and lower words of the DW value. To read the value via SCADA you have two options Use the SCADA "read float" function, but point it to the address of the DW in the PLC OR Use the "Vector" -> "Struct" block again to copy the bytes of the new modified float back into an MF register (note this will show a strange number when viewed as a float in Visilogic, becuase the words have been swapped). Then point the SCADA function to the MF register. I hope this helps.
  27. 1 point
    Hi all, i have an absolute encoder 9bit, 512steps/revolution, single turn, of Pepperl + Fuchs make. i want to use it for measure the travel distance. anybody have idea about this application then pl. guide me. the encoder is gray coded. a little thought in my mind is to convert Gray code to binary and then using Bit to numeric convert block i can get the value for one revolution but i don't know how to convert Gray to binary.Thanks in advance. kapil
  28. 1 point
    I developed an application with ASCII in Jazz following the next explanation of Help: Communication Utilities Use this utility to enable your controller to receive data from external devices, such as bar-code readers, via an RS232 port. Since there is no Ladder element for this function; you perform it by storing values into SIs. Note that the communication settings stored into these SIs only take effect at power-up. SI Parameter Value to Store Notes 141 STX (Start of Text) Select one of the 3 STX option by storing its value into SI 141: · 0-255(ASCII) · -1: No Start of Text (not recommended) · -2: No Start of Text (Enables access by Unitronics PC applications) The STX parameter indicates where the data block begins. · -1: Note that the ASCII character '/' (backslash) cannot be used to indicate the start of the data block. · -2: enables applications such as U90 Ladder and Remote Access to access a networked PLC. Note that these applications use the 'backslash' character ( / ) (ASCII character 47) as the Start of Text (STX) character. 142 ETX (End of Text) Select one of the 3 ETX option by storing its value into SI 142: · 0-255(ASCII) · -1: ETX marked by Length · -2: ETX marked by 'Silence' The ETX parameter indicates where the data block ends. When the ETX is registered by the function, SB 60 turns ON. · If you use an ASCII character (0-255), note that if this character occurs after the Length parameter defined in SI 143, SB 60 turns ON. · Selecting -1 causes the function to use the length of a data block alone to determine its end. · Selecting -2 causes the function to use the duration of silent time following the STX to determine the end of a data block. 143 ETX Length or Silent · Length: up to 128 (relevant if you store -1, Length, into SI 142 to provide ETX) · Silent: up to 24000 · This defines both the length of text, or silence, that signals the end of text. · Note that the duration of a silent 'counter' unit is approximately 2.509 mS. The 'silent' value should be lower than the TimeOut value. · When defined as length, SI 143 cannot exceed SI 144. 144 Maximum Length Up to 128 · This is the maximum legal length for received text. · When the maximum length is exceeded, the Receive Buffer is automatically cleared, and SB 60 is turned OFF, enabling new data to be received. · This can be used to detect buffer overflow. 145 Start Address: Receive Buffer MI Address This MI contains the start address for the vector of registers that serves as the Receive Buffer. 60 Number of Bytes currently in Receive Buffer Read only SI 60 indicates how many bytes of data are currently in the Receive Buffer. 61 Number of Bytes in Receive Buffer when SB 60=1 Read only SI 61 indicates how many bytes of data are in the Receive Buffer when SB 60 turns ON. 146 Copy Data: Format · 0: copy each received byte · 1: copy in groups of 4 received bytes. · 0 causes each separate byte to be copied to a separate register including STX and ETX. For example, if the PLC receives an STX character, 4 data bytes, and an ETX character, the data will be copied into a vector of 6 MIs: the first containing the STX, 4 MIs for the data bytes; the last MI will contain the ETX. · 1 causes every 4 bytes to be copied to a single register, without the STX and ETX. This is used when the received data is in numeric format. For example 12345 would be copied to 2 consecutive MIs. The first MI would contain 1234, the second would contain 5. 140 Start receiving 300 In your application, use this to call the function after you have entered all of the other parameters. Note that when you run Test (Debug) Mode, the current value in SI 140 will not be displayed. SB Description Notes 60 Data Successfully Received Read only. Turns ON when the ETX condition is registered by the system. 61 Copy Data in Receive Buffer to MI Vector Write only. · Turning this SB ON causes the buffer contents to be copied to the MI vector defined in SI 145. The data will be copied according to the format defined in SI 146. · If SI 146 is set to 0, this SB can be set at any time. If SI 146 is set to 1, this SB can be set after SB 60 turns ON. 62 Clear Receive Buffer, Clear SI 60, Clear SI 61, Reset SB 60 · This SB must be turned ON to enable a new message, or data block, to be received. · Turn this SB ON to enable data to be received before the maximum length, defined in SI 144, is exceeded. Note that if no data is received for a period exceeding the TimeOut, you will lose the data in the buffer. To see how to use the Communications Utility, check the sample application Read Card - Display Number Value.U90. This may be found by accessing Sample U90 Projects from the Help menu. This application demonstrates how to read a magnetic card number using an "IDTECH" card reader, then display that number on the PLC's screen. The card reader transmits the number in ASCII characters in this format: < %?[CR];xxxxx?[CR] > where xxxxx is the card number. The ASCII character used to mark the Start Of Text (STX) is < ; > (semicolon). End Of Text (ETX) is marked with the character < ? > . Since the card number is 5 digits long, the card number is copied to 2 separate MIs. The MIs are linked to 2 variables that are shown on the PLC's screen in 2 separate Displays. The parameters must be written into their respective operands using one scan condition. For this purpose, it is recommended to use SB 2 Power-up bit, as shown in the sample application.
  29. 1 point
    Hi, Actually there is an option to establish connection with the PLC via Ethernet even if you did not configure PLC name and TCP/IP card init in the ladder code. The way to do it is as follows: Go into info mode --> Ethernet settings Set IP address,subnet mask and default gateway to match your network settings. Set one of the sockets to TCP slave with port number 20256. (Basically you can set other port number) Then check in info mode --> Operands --> system double words --> the value of SDW9 From VisiLogic or other Unitronics software set in the connection parameters: IP address of the PLC, TCP port and the PLC name (SDW9 value) Now you should be able to connect. Bill: For investigating this issue with the "strange" port numbers which you got by default - please send us the serial numbers of those PLCs. Thanks.