-
Posts
3,325 -
Joined
-
Last visited
-
Days Won
241
Content Type
Profiles
Forums
Gallery
Events
Blogs
Downloads
Articles
Media Demo
Posts posted by Flex727
-
-
Add a delay timer. You are trying to do the second read on the very next PLC cycle. Perhaps the MODBUS slave cannot respond to multiple requests that quickly. Try giving it a 100ms or so between reads.
-
I moved this to a more appropriate forum.
You can find example UniLogic projects here:
https://unitronicsplc.com/Download/Support/UniLogic/UniLogic_Example_Projects.zip- 1
-
Assuming you don't want to simply hide the indicator light to make it blink (i.e. show the light there but make it go gray or black or white to show the blink off condition), then I would assign zero to the blink off image and assign 1 - 4 for the other 4 colors and use SB 3 to alternate the list of images value between your assigned color and the off color. The following two lines of code allow you decide whether or not to blink and then blink the light between the current assigned color and the "Off" color. MI 1 would be the link for the List of Texts by Pointer.
-
3 hours ago, Dz! said:
but is there a limitation on the side of CPU power of the PLC?
I have run large MODBUS data exchanges between two PLCs on every PLC scan (not every 500ms, but at a rate of about 7ms - the scan time of the running program) without any issues whatsoever. I don't believe there is any issue to be concerned with.
-
What do you mean by "store"? Where are you trying to store the number? What is the source of the number? What are you trying to do exactly?
Floating point number operands are available (MF operands), but they are separate from the normal math and store functions. You can find them under Math / Float.
However, depending on what you're trying to do, you should keep the number as an integer while keeping track of the implied decimal location within your logic. For a number like 6.2, just multiply by 10 and store it as 62. You can display it properly on the HMI without any further math.
-
Unitronics also has video tutorials, accessible through this forum and on YouTube.
-
Use the Compare function to turn on the output when the temperature exceeds your limit.
-
Of course there is a practical limit, but I haven't run into it. When you consider that Ethernet runs at 100 Mbit/s, simple math says that in 500ms you could exchange 50 Mbits. Of course there is overhead, so I'll divide that by 2, giving 25 Mbits. Divide that by the 32 bits for your INT32 registers, then you get 781,250 INT32s can be exchanged. I'm sure there are other factors of importance here and there is a MODBUS limit of 256 bytes per request, which will be your primary limiting parameter.
- 1
-
36 minutes ago, PDev_Nick said:
Trick was to ctrl+click to deselect the item. Leaves you in the same state of having nothing selected, but without the wait.
Outstanding! This works like a champ. Thank you!
-
Translation:
QuoteFatal errors will occur every year after using this device.Approximately every 2 to 3 months
This device is not connected to VFD and is used by 220V via transformer DC24V -
Thank you for getting back to us with the solution you found.
-
The input from the PT100 sensor will be placed in the operand you select in the HW Configuration. It will have a resolution of tenths of a degree (you can select either C or F). The value will have an implied decimal (i.e., 102.6 degrees will have the value 1026 in the integer operand you select).
You can then display that on the HMI screen using the HMI Numeric function and selecting 1 decimal place in the configuration box for the numeric variable display.
- 1
-
Perhaps a distributor can answer your question directly, but you can easily create a 4-20mA output in ladder with the correct linearization settings.
-
Thanks, DanT. I do know about this function and have used it in the past, but I am always reluctant to put something like this into regular use until I fully understand how it works. There should be an entry in the Help file on this function and I do not see it. I also notice that it doesn't include any System Operands, which is important for the programmer to know in advance (one reason why I'd like to see information in the Help file).
-
On 2/13/2020 at 10:59 AM, kratmel said:
I use Export PLC operand to the file and use Import PLC operand if user does something wrong.
@Cara Bereck Levy, I can find nothing at all in the help file about this function. Am I looking in the wrong place?
-
Moved to best forum for this question.
-
Good information and advice, @kratmel.
-
There are other resources available that are more suited to your needs. Unitronics offers a number of video tutorials for programming and their installation guides for the I/O modules show how to perform the wiring. This forum is more suited for answering specific questions by users who are involved in a project.
There are also some forum users here that are willing to provide programming, and even training, for hire. Post in the forum topic "Projects Seeking Programmers" if this is what you are seeking.
Please keep in mind that this is a user community - the forum users and moderators are volunteers who do not work for Unitronics and are willing to donate some of their time to help other users. Most do not have the time to walk someone through every phase of a project.
My best recommendation is to perform the basic research, perhaps making that part of the student exercise, make your best attempt at wiring and programming, then return here with specific questions.
-
No, what I am saying is for there to be beginning values for integer registers exactly like what happens with timer presets. Whatever timer preset is entered into VisiLogic, even without the Power-Up checked, is transferred to the PLC when the program loads. This value is retained, can be changed, but does not have any power-up application. Often times I have programs with a large number of settings that must be entered by the customer before the program will run properly. Those settings cannot be power-ups because that may need to be changed from time-to-time and the new setting needs to be retained. If the customer enters most of the parameters but forgets some, or makes a typo while entering them, problems will ensue. I'd like to have default values entered that will allow the program to run properly without the customer intervening unless a minor tweak needs to be done.
There is a workaround - I can have a ladder rung initiated by SB 2 that checks to see if the MI = zero, then store direct my value if true, but that's cumbersome.
-
It only takes a few seconds to go online with the PLC, copy the data out of the Data Table, paste it into a spreadsheet, and graph it any way you like.
-
The Unitronics website has installation guides to help you with this. Here is a direct link to the one for the SM35-J-TA22:
https://myzone-kza3sadj.netdna-ssl.com/wp-content/uploads/2015/12/SM35_43_70_TA22_IG_2_16.pdf
-
Ugh. I think that's going to be a problem.
-
You can record data in either a Data Table onboard the PLC or on an SD card. On the SD card you can store the data directly from a Data Table in a format that can be read by Unitronics SD Card Suite and converted to .csv. You can also (with more difficulty) store the data directly to the SD card in .csv format. My recommendation would be to store the data in a Data Table and periodically push it to the SD card. You can read the file on the SD card directly (using SD Card Suite) without removing the card if you can go online with the PLC. Unitronics SD Card Suite is free and easy to use.
-
Which PLC model are you thinking of using?
Trouble with Modbus TCP. The cycle do not perform correctly
in Vision & Samba PLC + HMI Controllers & VisiLogic Software
Posted
It looks like you're trying to read two vectors each of length 2 in two separate reads. The two vectors are only 8 registers apart. Why not simplify by reading it as a single vector of length 12? Block out MI 2508 through MI 2515 as "Do Not Use" and move your current use of MI 2508 - MI 2509 to MI 2516 - MI 2517.