Happy Friday everyone! In today’s video I provide an update to our product wall expansion, as well as the new vendor samples that have come in and we’ll be covering this Summer:
For more information, check out the “Show Notes” located below the video.
The Automation Show June 2020 Update:
Support our site and get early access to our videos, free downloads and more!
You can now support our site with a small monthly pledge and in turn receive instant rewards! To find out more visit https:// TheAutomationBlog.com/join.
Vendors: Would you like your product featured on the Show, Podcast, and Blog? If you would, please contact me at: https://theautomationblog.com/contact
Until next time, Peace ✌️
If you enjoy this episode please give it a Like, and consider Sharing as this is the best way for us to find new guests to come on the show.
Eliminate commercials and gain access to my weekly full length hands-on, news, and Q&A sessions by becoming a member at The Automation Blog or on YouTube. You'll also find all of my affordable PLC, HMI, and SCADA courses at TheAutomationSchool.com.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
In our last article we learnt about the architecture of our IoT system, to continue with our series in this article we will learn how to register a “Thing” on AWS IoT, which is required to use IoT services provided by AWS.
AWS IoT Diagram – click to view source
AWS IoT Setup:
Most of IoT system needs data management that includes the collection, processing, storing, and analyzing of massive streams of data from multiple different sources located in an interconnected network and we have many external cloud service providers like: Google Cloud, Amazon web services, Alibaba cloud services, etc. to provide this services. For our example, we are going to use AWS IoT for data management and processing services.
Why AWS IoT?
According to Amazon, “The AWS IoT service provides secure, bi-directional communication between Internet-connected devices such as sensors, actuators, embedded micro-controllers, or smart appliances and the AWS Cloud.”
AWS also provides wide range of services like: AWS SNS (Simple notification services), AWS RDS (Database services), AWS analytics, machine learning, etc. hence AWS IoT is the most convenient option for us, as an IoT system requires this other services as well and as we are using all of the services from same provider i.e. AWS, our billing management becomes easier.
Cost effective:
Apart from service costs, AWS is globally used, hence we have ample amount of documentations available and because of its popularity lots of people opt for AWS certification which results in cost effective and quality resource availability.
Let’s move forward to register a “thing” in AWS IoT:
This article shows you how to set up and register a “thing” for AWS IoT services using the AWS web interface (https://aws.amazon.com/console/).
In terms of AWS IoT, the term “thing” refers to any internet-connected device, including sensors, actuators, embedded micro-controllers, smart appliances, computers etc.
Image by Nilesh Soni
In our case it’s Allen Bradley control logix PLC controller, from which we are getting our data.
AWS IoT set of services includes numerous components, which include:
Device gateway
Message broker
Rules engine
Security and Identity service
Registry
Device shadow
Custom Authentication service, etc.
But to use any of this components of AWS IoT, a thing must first be registered.
To register a thing, start by logging into the AWS Control Console using an account with administrative credentials and navigate to IoT Core service of aws services.
Figure 1 – Image by Nilesh Soni
Then from sidebar navigate to Manage then to Things.
As you can see in Figure 1, there are no things registered yet, so click the Register A Thing button to start the process. Figure 2 reveals that you can bulk register similar devices at the same time, but for this example, we will register a single thing.
Figure 2 – Image by Nilesh Soni
The first question on the next page asks you to give your new thing a name and to classify it as a specific type of thing (Figure 3).
Figure 3 – Image by Nilesh Soni
You will have to create a type for your new thing. Click the Create A Type button and provide a name and description of this new type of thing. Click Create This Type when you are finished.
The next screen asks you to provide an authentication certificate for your newly registered thing (Figure 4). This is an important step for security purposes because no matter how many things reside on your
Figure 4 – Image by Nilesh Soni
IoT system, each and every one must have a certificate that identifies and authorizes its data
AWS recommends you use the one-click method and for this example, we will keep it simple and use the one-click method.
Figure 5 – Image by Nilesh Soni
Make sure to download the certificate, public and private key, as this will be required while configuring MQTT nodes for data transferring.
Click on done and now you have successfully registered a thing.
Figure 6 – Image by Nilesh Soni
Conclusion:
In this article, we discussed steps to register a thing using AWS web console, as this is the first step towards our AWS IoT setup.
In an upcoming article we’ll learn “How to setup an EC2 instance on AWS and install node-red server on it.”
Written by Nilesh Soni
Provider of custom ERP solutions and Freelance Writer
Edited by Shawn Tierney
Have a question? Join our community of pros to take part in the discussion! You'll also find all of our automation courses at TheAutomationSchool.com.
Sponsor and Advertise: Get your product or service in front of our 75K followers while also supporting independent automation journalism by sponsoring or advertising with us! Learn more in our Media Guide here, or contact us using this form.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
Note: Insider News articles & videos cover behind the scenes topics at The Automation Blog, Podcast & Show. Starting in 2021 they’re now posted at http:// TheAutomationBlog.com/join
Insider News for May and June, 2020
Thank you all for your continued support!
I hope everyone is staying safe and healthy during these trying times!
This month’s insider news is for both May and early June:
Insider Update in Pictures for May, 2020 (June video below May update)
Good morning Patrons!
Last week I posted an update in pictures of what I’ve been focused on this week, which I’ll share below:
Studio A picture taken prior to 2020 updateStudio A picture taken during 2020 updateStudio A picture taken during 2020 update – nearing completionStudio A picture taken during 2020 update – starting to place hardware
I’ve also been working on managing and debugging issues at TheAutomationBlog.com and TheAutomationSchool.com, as well as talking with several vendors about covering their products on the blog and show.
The goal of updating the product wall was to make it wider so I could feature more and newer products from Rockwell, Siemens, Mitsubishi, IFM, Wago, and more, all as part of our efforts to grow the site by covering a wider range of vendors.
A secondary goal was to improve on the existing setup by adding more space behind the Wall Control panels (https://amzn.to/2WT4Kfn) as well as install deeper wire duct as it had become stuffed full with all the networking cables.
Hopefully I’ll have the wall completed enough next week to start filming again – I’m rearing to go with the videos on all the previous new used hardware I showed you in the last video, and I also picked up some new items at great deals I want to cover along with whatever hardware vendors send in as samples 🙂
So the plan is to start publishing lots of new videos, with early access versions moving to here so you can see them all in one place 😀
Thanks again for your support, and have a great week!
Insider Update Video for June, 2020
Until next time, Peace ✌️
If you enjoy this episode please give it a Like, and consider Sharing as this is the best way for us to find new guests to come on the show.
Eliminate commercials and gain access to my weekly full length hands-on, news, and Q&A sessions by becoming a member at The Automation Blog or on YouTube. You'll also find all of my affordable PLC, HMI, and SCADA courses at TheAutomationSchool.com.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
One of the things I love the most about working with industrial control systems in the OT (Operational Technology) environment is that you never do the same thing every day.
One day you may be troubleshooting operational issues, and the next day you are building HMI (Human Machine Interface ) graphic displays for a new control system that you are soon to implement.
Then, next week you could be installing three new network switches to expand your network even further than it previously ventured into your facility.
Image by Brandon Cooper
In another words, we get to wear a lot of hats and do many different things. We get to learn many different areas of expertise and some we are better at than others.
If you are in a control engineering position, then chances are, your networking knowledge has increased more and more with each passing year.
In the networking realm of process control, if you are using Rockwell products in your facility, then chances are, you could be using their Stratix line of EtherNet switches.
In this article, we are going to discuss setting up a password for your Stratix switch.
The Stratix line of switches uses the Cisco IOS, so configuring a Stratix switch is the same as configuring most other Cisco switches.
Rockwell has a web browser setup feature and it is perfectly fine to use that, but here we are going to work with the command line interface. This will allow you to see the difference in the type of password commands that you can use.
Let’s look at a few options for setting the password.
Option 1: Set the enable password without encryption
The password is stored in clear plain text in the configuration file. I do not recommend using this option for obvious reasons. Anyone that sees the configuration file, now has your password.
The command is:
Image by Brandon Cooper
The result is: (#Show Run)
Image by Brandon Cooper
Option 2: Set the enable password with encryption
The password is stored in MD7 hash text in the configuration file. This option is better than option 1, but I do not recommend using this option as there is a better option available.
The command to enable password encryption is:
Image by Brandon Cooper
This changes your clear text password to an MD7 has in the configuration file as shown below.
The result is: (#Show Run)
Image by Brandon Cooper
Option 3: Set the enable secret password with encryption
The password is stored in MD5 hash text in the configuration file. This is the best option to use as MD5 hash is much more difficult to break.
That one little word “Secret” makes a big difference in the security of your switch.
The command is:
Image by Brandon Cooper
You can see here how much better the encryption of the password is.
The result is: (#Show Run)
Image by Brandon Cooper
Important Tip – All Options: Save your changes
Use this command to save the changes in your switch (or they will be lost during the next reboot):
Switch#copy running-config startup-config
Conclusion:
If you are new to setting up a Stratix switch, then hopefully this article will give you a tip in setting a password that will be stored in configuration in a way that cannot be easily taken by an “over the shoulder” type of hack.
There are many options and configuration settings in the Stratix switch and we will likely cover some of them in another article. After making changes to your switch, don’t forget to save your changes!
Written by Brandon Cooper Senior Controls Engineer and Freelance Writer
Have a question? Join our community of pros to take part in the discussion! You'll also find all of our automation courses at TheAutomationSchool.com.
Sponsor and Advertise: Get your product or service in front of our 75K followers while also supporting independent automation journalism by sponsoring or advertising with us! Learn more in our Media Guide here, or contact us using this form.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
In a previous article regarding ControlLogix processor faults, I mentioned one of the ways a processor can be faulted was by causing an array to go out of bounds when using an FFL and FFU instruction.
These instructions are commonly used to store multiple records at a given sample rate, which then can be averaged.
In today’s article I’ll walk you through setting the parameters of these instructions to do just that.
Image by Brandon Cooper
The first step is of the process is to record samples of your value or analog signal (level, temperature, pressure, etc) over a given amount of time.
We can accomplish this by using a Timer to trigger FFL and FFU instructions, and below I cover each of their parameters:
FFL (FIFO Load) Instruction Parameters:
Source – The signal or variable that you want to store in the array.
Generally, this would be a process variable like a weight scale, pH, or temperature.
FIFO – The Array in which to store the signal or variable.
In this example I’m using ACCArray[16] with a DINT data type
Control – This can be any tag name with “CONTROL” as the data type.
Note that the corresponding “FFU” (FIFO Unload) instruction must use the same tag in its “Control” parameter so that they operate simultaneously.
Length – Length of the Array.
This is usually the same length as the Tag Array used in the FIFO parameter.
Position – Position to Load the Array
FFU (FIFO Unload) Instruction Parameters:
FIFO – The Array in which to Unload the variable.
In this example I’m using the same ACCArray[16] with a DINT data type used above.
Destination – The variable that is being “Unloaded” from the array will be moved to this destination.
I chose a tag called “Trash” because I don’t need the variable once it has been unloaded.
Control – This can be any tag name and select “CONTROL” as the data type.
As noted above, the corresponding “FFL” instruction must use the same tag in its “Control” parameter so that they operate simultaneously.
Length – Length of the Array
Position – Position to Unload the Array
With the FFL and FFU covered, the next step is to use the AVG instruction to average the values we’ve collected and stored in our array, and below I’ll detail the AVE’s parameters:
AV (Average) Instruction Parameters:
Array – The Array which hold the values you wish to calculate an Average of
Dem. To Vary – The array’s Dimension to use (0, 1, 2)
This parameter allows users with multi-dimensional arrays to select the dimension in the array to use (- ed.)
Destination – Where to place the Result of the Average Instruction. Consider this a “MOV” block inside the AVG instruction.
Control – This will be a CONTROL data type similar to the one used in the FFL and FFU instructions, but can not be the same tag as the FFL and FFU instructions. The AVG instruction needs to have its own dedicated CONTROL tag.
Length – The length of the array to AVERAGE.
In some situations you may only want or need to Average a part of the array, but it’s more common to Average all of the stored variables.
Position – The offset into the selected array which the instruction is accessing.
This value is typically set initially to 0. (- ed.)
NOTES: Adjustments for sampling options:
Make the array larger: Instead of only 16 stored data points as in this example, your array could be 50 points or more.
Increase or decrease the timer preset to have faster or slower sampling: In this example I’ve adjusted the TIMER_LAB.PRESET to five hundred milliseconds, which results in the code sampling and store the signal value twice a second. Depending on what you are trying to accomplish, you may only need a sample every ten seconds, or you may need a sample every fifty milliseconds
The following is a snapshot of what your array will look like in the controller tag database:
Image by Brandon Cooper
Conclusion:
The FFL and FFU instructions working together with and AVG instruction can give you great flexibility in adjusting the sample rate by simply adjusting the timer value that executes the instructions.
This is a real-life application that I have used many times for calculating weight signals and averaging the weight over several seconds.
If you are new to ControlLogix programming, hopefully you have picked up a tip or two here. If you take the time to learn each instruction, their parameters and use, then you will be setting yourself up for success in your automation and controls career.
Written by Brandon Cooper Senior Controls Engineer and Freelance Writer
Have a question? Join our community of pros to take part in the discussion! You'll also find all of our automation courses at TheAutomationSchool.com.
Sponsor and Advertise: Get your product or service in front of our 75K followers while also supporting independent automation journalism by sponsoring or advertising with us! Learn more in our Media Guide here, or contact us using this form.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
Years ago, I was in the middle of a normal day of work when I got a call on the radio that a conveyor had stopped, and then I was informed that the entire process around that conveyor had shut down as well.
When I went online with the respective processor for that system, I was at first surprised to see the processor was “Faulted”, you know, that bright red light on the processor status of RSLogix or Studio 5000 that says “I’m Done!”.
When I investigated to learn why the fault had occurred, the error led me to a mistake that I had made weeks earlier that came to fruition on that day.
Image by Brandon Cooper
You see, I had written a calculation that, based on the conveyor speed, would place an EPID controller in auto at precisely the correct time.
I wrote that calculation to a timer preset value not realizing what could happen. When the conveyor stopped, the speed reference (that was part of the calculation) submitted a value to the control system slightly less than zero and that was all it took to make the timer preset negative and fault the controller.
As a young programmer, that day I learned a valuable lesson that I would not forget, that is to evaluate both, the positive and the negative impact of everything that I place in code.
The checks and balances, so to speak, are very important in what we do.
Over the years, I have seen numerous other faults as well. I have witnessed faults caused by indirect addressing and other ways of causing an out of bounds reference to an array.
Being careful with the FFL (FIFO Load) and FFU (FIFU Unload) is a learned experience as well.
I once was called to a machine that was shut down not long after installation with a processor that was faulted. Once online, I began looking at the code (code was written by someone else) to understand the fault.
It was an array overflow, and what caused the processor fault came from a faulty limit switch.
The program was counting panels as the went into the machine, and counting them down as they exited the machine, all while filling an array with panel data.
When the limit switch on the outfeed of the machine stopped functioning, it caused the array to overfill and the processor came to a stop.
After making a change to repair the code, it was yet another lesson learned in the journey of a young programmer.
In this below example, I had the FFL instruction reference an array with only DINT[16] data type. There is no way to reference a length of 17.
Image by Brandon Cooper
I could go on and on with other stories and experiences, but the bottom line is, if you are not familiar with the do’s and don’ts of coding in a ControlLogix processor, then it would be a good idea to check out the Rockwell publication 1756-pm014_-en-p.pdf to understand some of the many ways that can “anger” a processor and cause it to say “I’m Done!”
Online forums and blogs like this one are another way of learning from other peoples’ adventures and mistakes.
Clearing your fault after it occurs
After learning about a fault and correcting the mistake in the code, you can select “Clear Faults” as shown below.
The controller will switch from “Faulted” to “Program Mode,” after which you can place the controller back into the “Run Mode.”
There is no doubt each one of you who maintain automated systems have had similar experiences on your own journey as a control system engineer.
The key to me is to learn from our mistakes, and be better than we were before each experience.
After each of the above events, I became a better programmer by learning the value of inserting the checks and balances needed so my code stays within the necessary bounds of operation.
A good programmer friend of mine always says “I can play by the rules if I know what they are”. So I’ll leave that thought with you and my best to you as we all improve something every day.
Written by Brandon Cooper Senior Controls Engineer and Freelance Writer
Have a question? Join our community of pros to take part in the discussion! You'll also find all of our automation courses at TheAutomationSchool.com.
Sponsor and Advertise: Get your product or service in front of our 75K followers while also supporting independent automation journalism by sponsoring or advertising with us! Learn more in our Media Guide here, or contact us using this form.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
Next, select the category you’re interested in. In this example we’ll choose Industrial Automation:
The next selection is the Distance from your City/State or Zip.
If you live in a rural area like I do, I’d suggest upping the selection from 25 miles to 100 miles before entering your Zip code and clicking “Search”:
The result is a listing of all the Siemens Industrial Automation distributors in your area. In my case, my local Siemens distributor is WESCO in Westborough, MA:
If you talk to either Paul or Marc in the automation group there, please tell them I said hello 😉
Until next time, Peace ✌️
If you enjoy this episode please give it a Like, and consider Sharing as this is the best way for us to find new guests to come on the show.
Eliminate commercials and gain access to my weekly full length hands-on, news, and Q&A sessions by becoming a member at The Automation Blog or on YouTube. You'll also find all of my affordable PLC, HMI, and SCADA courses at TheAutomationSchool.com.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
Have you ever wanted to check out TIA Portal from Siemens to see how their PLCs and HMIs program?
TIA Portal (picture courtesy of Siemens)
Well the good news is anyone can get a free, twenty-one day trial of TIA Portal by creating a free account on the Siemens website without the need to call a salesperson or provide any personal information to a support representative (like other vendors require.)
Part 1: Registering with the Siemens’ support website
Note: If you already have a login to the Siemens support website, skip to part two below.
Step 1) Visit the Siemens support website using the below link:
Note: If you’re not from the USA, select your location using the provided drop down menu:
Step 2) Now click on the “Register” link on the top of the page:
Step 3) Fill in your information, and be sure to use a valid email address:
Step 4) Review each of the selections, then click on “Continue”:
Step 5) And click on “Continue” one more time:
Step 6) Next, you’ll need to click on the “confirmation link” in the email Siemens sends you within 48 hours.
Also make note fo your Login (aka login name, user name) as listed in the email as it may not be your email address:
Step 7) After clicking on the email confirmation link, you should see a confirmation window like the one below:
Step 8) Now return to the Siemens support website, click on Login, and use the Login name from the above mentioned email along with the password you chose during registration:
Part 2: Downloading the free TIA Portal Trial Software
Step 1) Visit the TIA Portal download page using the link below:
Step 2) Scroll down until you see “DVD 1 Setup,” and then click on each of the four DVD_1 files to download them:
Step 3) Once the four files have downloaded, move them all into a single directory and then double click on the “TIA_Portal_STEP7_Prof_ Safety_WINCC_Adv_Unified_V16.exe” to start the installation:
Step 4) Click on “Next,” select your language, and click on “Next” again:
Step 5) Now select the extraction folder, and then select “Next”:
Note: Be sure to record the location of the “Extraction Folder” if you also choose “Extract the setup files without being installed.”
Step 6) At this point the downloaded software files will be extracted:
Part 3: Installing the free TIA Portal Trial Software
Step 1) If you left the default setting in step 5 above, the TIA Portal installation should start automatically.
If not, you can launch the “Start” application located in the “Extraction Folder” you selected in Step 5 (the default location is C:\Users\username\AppData\Local\Temp also shown in Step 5 above)
Step 2) Once the installer opens, choose your language and select “Next”:
Note: If you see this error about .NET 3.5, see our previous article HERE for the solution:
Step 3) On the next two screens select “Next”:
Step 4) On this screen I’d recommend keeping the “Typical” selection, and then click on “Next”:
Step 5) Now check both boxes to accept the licenses, and then click on “Next”:
Step 6) Then check the “I accept” box, and click on “Next”:
Step 7) Last but not least, click on “Install”:
Step 8) Here we see the installation progress screen:
Step 9) Once installed the software may prompt you to reboot your system:
Step 10) Once rebooted, you’re ready to start your twenty-one day trial of TIA Portal:
If you’d like to learn how to create you’re very first S7 program, check out my how-to video here.
And for all our previous Siemens PLC coverage, check out our Siemens category here.
Until next time, Peace ✌️
If you enjoy this episode please give it a Like, and consider Sharing as this is the best way for us to find new guests to come on the show.
Eliminate commercials and gain access to my weekly full length hands-on, news, and Q&A sessions by becoming a member at The Automation Blog or on YouTube. You'll also find all of my affordable PLC, HMI, and SCADA courses at TheAutomationSchool.com.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
In this article I would like to show you how to control an ATV320 variable frequency drive using Modbus serial port on M340 PLC.
Before we begin, following is the list of items you need
PC with EcoStruxure Control Expert Small Software installed
Schneider Electric Modicon (BMXP342020) PLC
Schneider Electric Altivar ATV320 (ATV320U07M3C)
SoMove, Drive Commissioning Software
Schneider Electric Drive Programming Cable (TCSMCNAM3M002P)
Schneider Electric USB Programming Cable (TCSXCNAMUM3P)
Before we look into the programming of ATV320 and M340 PLC, let us take a look at Modicon M340 PLC and Altivar ATV320 variable frequency drive.
M340 PLC
Modicon M340 is one of the Programmable Automation controllers (PAC) that Schneider Electric offers. It is built as all in one controller approach and can cater to wide range of demanding automation applications.
It comes built in with USB port for programming and HMI (Human Machine Interface) and two additional ports as required: Ethernet, Modbus, CANOpen. EcoStruxure Control Expert software is used for programming and commissioning of this controller.
Image By Farhan Michael
Altivar ATV320
This family of Altivar drives is specifically designed to cater to Original Equipment Manufacturers (OEM) applications with horsepower range from 0.25hp to 20hp.
It is available in two form factors, book and compact. It comes with embedded safety such as STO (Safe Torque Off) and can support different communications such as Ethernet/IP and Profinet using option cards.
Step by Step Procedure to Integrate ATV320 drive with Modicon M340 PLC
Step 1:
Create a new project in EcoStruxure Control Expert Small or Extra Large:
Select the processor BMXP342020 under Modicon M340, and rack BMXXBP0400:
Image By Farhan Michael
Click OK and a new project will be created:
Image By Farhan Michael
Then save your project and give it a name:
Image By Farhan Michael
Step 2:
In Project Browser, navigate to Configuration and expand the tree to access Serial Port. Double Click Serial Port to modify the settings:
Image By Farhan Michael
Configure the port as Modbus Master as shown below:
Image By Farhan Michael
Validate your changes:
Do not forget to save your project.
Step 3
In this step, you will need to define array data structures that you can use to read and write data from drive to PLC and vice versa. You will access Variables & FB Instances in Project Browser window as shown below.
Image By Farhan Michael
You will need to use Read_Var and Write_Var instructions in the program to exchange data between PLC and drive.
These instructions require slave address defined as input to these instructions. ADDM function is used to convert a character string into an address that can be used by the communication functions such as Read_Var and Write_Var.
You will use ADDM function to set ATV320 as slave device at address 1 and can connect upto 32 slave devices if needed. This tutorial refers to only one slave device.
Define a DeviceAddress array of type ADDM_TYPE as shown below:
Image By Farhan Michael
Then create four more arrays of INT(Integer) data type of size 4:
Image By Farhan MichaelImage By Farhan Michael
Since you have created arrays with dynamic addresses so you will need to enable dynamic array addressing in Project Settings.
To achieve this, you will have to go on menu bar and select Project Settings under Tools:
Image By Farhan Michael
Select Variables and enable Directly represented array variables as well as Allow Dynamic arrays (ANY_ARRAY_XXX):
Image By Farhan Michael
Click Apply and then OK.
Step 4
In this step you will need to write the program in Mast section. Right click on Logic and select New Section.
Image By Farhan MichaelImage By Farhan Michael
A new section window will open up. You will need to give it a name like Main and select programming language. In this tutorial, I have selected ST (Structured Text).
Image By Farhan Michael
Type in the following code in Main section.
Image By Farhan Michael
Save your project.
In the above code, the application manages two requests: A read request of four words starting at Modbus address 12741 (31C5 hex,) and a write request of four words starting at Modbus address 12761 (31D9 hex).
First two read words are mapped to Status Word and Output Speed of the drive.
Similarly, first two write words are mapped to command word and speed reference of the drive.
Step 5
From menu bar, select Build and choose Analyze Project to compile your project:
Image By Farhan Michael
The project should build with no errors.
Next you will need to download program to the PLC. Select Connect under PLC on menu bar provided that you have connected PC and PLC via Schneider USB programming cable:
Image By Farhan Michael
I have used Simulator running at 127.0.0.1 for this tutorial. You will see status as DIFFERENT and NO CONF since no configuration have been transferred to PLC and applications in PC and PLC are different.
Select Transfer Project to PLC or use CTRL+L on keyboard to load application into PLC:
Image By Farhan MichaelImage By Farhan Michael
The application is now loaded, and PLC is in RUN mode.
Image By Farhan Michael
Connect the PLC and drive via patch cord.
Step 6
In this step you will need to configure the ATV320 drive so it can communicate over Modbus via its communication scanner.
It is recommended to factory reset your drive before you do any configurations.
Factory Reset
To perform a factory reset from power up, enter the following on the dial:
Scroll down to CONF menu and enter.
Scroll down to FCS- and enter.
Scroll down to FRY- and enter.
Select All so that ” mark is at top instead of bottom.
Now go to GFS parameter.
Set it to yes and hold for 2 seconds until it goes back to GFS when you let go.
Command Settings
To control the drive with Modbus Master, you will have to select Modbus as active command channel. This can be achieved by selecting the following options from the face of the drive.
Enter on dial:
CONF>FULL>CTL->Fr1> [MODBUS] MdB
Set the command channel to Modbus
CONF>FULL>CTL->Cd1> [Modbus] MdB
You will also need to set the channel profile to I/O Profile.
CONF>FULL>COMM> [Modbus Format] tFo >[8-E-1] 8 E 1
CONF>FULL>COMM> [Modbus time out] tto > 10s
Power cycle the drive to make changes effective.
Congratulations! You have successfully integrated ATV320 with Modicon M340 PLC for command and reference control over Modbus.
Written by Farhan Michael Automation Specialist, Training, and Freelance Writer
Have a question? Join our community of pros to take part in the discussion! You'll also find all of our automation courses at TheAutomationSchool.com.
Sponsor and Advertise: Get your product or service in front of our 75K followers while also supporting independent automation journalism by sponsoring or advertising with us! Learn more in our Media Guide here, or contact us using this form.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
Thinking back over my last twenty years in manufacturing, I can recall several lessons and “wake up” calls that helped me mature in my personal attitude towards safety.
Yes, if you mentioned safety to me when I was twenty years old, I probably made a joke about getting injured on a keyboard or falling out of my chair.
Image by: Brandon Cooper
It was some time before I had to drive a coworker to the hospital to have fingers sewn back on his hand or another incident that I saw a coworker have his hand crushed between wood panels.
Coupled with some mistakes of my own, I realized that at any time on any given day, one second of lack of attention to our surroundings or details can change our own life or worse yet, injure someone else.
Lack of Preparation
Like most programmers, I have made thousands of code changes to control systems from simple to complex. Many of them have been during production when I am altering the operation of a machine.
None of these changes should ever be taken lightly. With the privilege to perform tasks that require a high level of skillset, there also comes great responsibility, including:
What are the effects of this code change on the machine?
What are any secondary effects this could have on the machine?
Are persons in the area that could be affected?
If the machine shuts down, what kind of upset condition(s) will this create?
It is imperative that we ask ourselves these kinds of questions before making changes to operating systems. It is not only up to us to evaluate these questions, but to also discuss these considerations with other team members as well as the operations personnel requesting the changes.
Complacency with the details or lack of preparation can set any of us up for a safety incident.
Lack of Security
Complacency can also be looked at from another angle. While this article is not about OT security, there is a grand liability around having control systems left with unrestricted access, including:
Having programming terminals that are online with control systems left open to anyone walking by is a dangerous habit. Anyone in the area can make a couple of wrong clicks and shut down equipment or worse, cause a dangerous upset condition to others.
Don’t just stop with not leaving systems logged in. If all your programming terminals have Password1 or something simple as the password, and everyone at your facility knows it or it is written all over the desk around the programming terminal, it is just a matter of time before unwanted things happen to your systems.
Wifi is a great tool to use to be able to locate yourself out at a machine to make programming changes. It is a liability if it is not password restricted and it should not be left connected to an OT network if you are not actively using it. Disconnect the wifi router any time it is not in use.
Conclusion
Every one of us need to evaluate ourselves from time to time when it comes to our attitude, our procedures and our practices towards safety.
Doing the right things every day – day in and day out ensures that we go home safely as well as those we work with.
And not just an evaluation time to time, but a lifestyle, that never reacts before a thorough evaluation of the next task at hand. My best to you in evaluating your safety mindset.
Written by Brandon Cooper Senior Controls Engineer and Freelance Writer
Have a question? Join our community of pros to take part in the discussion! You'll also find all of our automation courses at TheAutomationSchool.com.
Sponsor and Advertise: Get your product or service in front of our 75K followers while also supporting independent automation journalism by sponsoring or advertising with us! Learn more in our Media Guide here, or contact us using this form.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
Do you have a machine that you need to get data from? And do you need to send that data to another device but the machine lacks networking capabilities?
In this article I’ll show how to get data a your machine into a Siemens S7-1214C PLC by using the machine’s existing outputs to select which data the PLC will make available over your network.
Step 1)
In this example we have four outputs on our machine that tells us which product is being made.
These will be wired into our PLC as inputs, and therefore we need to add them to our PLC’s tag table:
Image By Chris Wright
Step 2)
Now that we’ve added our Input Tags, we’ll next add a new Function Block to the program named “Part Reference”:
Image By Chris Wright
Step 3)
In this step we will add the data to the FB that will be used to “select” the part number of the product being made.
‘Programs’ in the static section needs “Retain” to be “Set in IDB.” “Programs” is an Array 0…15 with a max string length of 15:
Image By Chris Wright
Step 4)
Now we will add the first Logic to the FB. The Inputs will write to the first 4 Bits of the Byte “Input Code,” and are addressed as #”Input Code”.%X0 thru %X3 as shown below:
Image By Chris Wright
Step 5)
Next, we’ll add an “SCL Network” to the Function Block.
This logic will convert the Byte to Int, and then select the part number based on the inputs.
It will also display the Part Number that was selected, and if no part is selected the output will display ‘No Part’:
Image By Chris Wright
Step 6)
Now we need to add the “Part Reference” FB1 to the OB1 Main Routine. This will create an “Instance Data Block” (IDB).
Add “Part Number” to “Temp” in OB1, then add the four Inputs from the Tag Table to the Input side of Function Block, and finally add “Part Number” to the Output side of the Function Block:
Image By Chris Wright
Step 7)
Now create a watch table and name it ‘Part Numbers’. This table will have 1 to 15 part numbers, and the data will be written to it by “Programs” in the Function Block:
Image By Chris Wright
Step 8)
Compile and load program to PLC, then go online and add the “Part Numbers” to table and write to DB:
Image By Chris Wright
Testing:
Now let’s test the logic to make sure it is working correctly.
You can see that with no input the Part Reference output is displaying ‘No Part:
Image By Chris Wright
And with Input 1 on (aka high, binary 0001,) the Output is now displaying the first part number in our Part Number table:
Image By Chris Wright
With all Inputs on (aka all high, binary 1111,) the output is now displaying Program Fifteen from the Part Number table:
Image By Chris Wright
Here we can see the Inputs and how the correlate with the byte ‘Input Code’:
Image By Chris Wright
Conclusion
The above method is a good way to get part number or other information from a machine where you must use the PLC inputs to select the information using binary.
This can be used to interface with machines that do not have any industrial networking (Ethernet/Profinet/Profibus) capabilities.
Written by Chris Wright Process/Controls Engineer and Freelance Writer
Have a question? Join our community of pros to take part in the discussion! You'll also find all of our automation courses at TheAutomationSchool.com.
Sponsor and Advertise: Get your product or service in front of our 75K followers while also supporting independent automation journalism by sponsoring or advertising with us! Learn more in our Media Guide here, or contact us using this form.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
Recently, I was working on updates for my PLC courses at TheAutomationSchool.com when I ran into an issue downloading the free versions of RSLogix Micro Lite, RSLinx Classic, and RSEmulate 500.
After blogging about the latest procedure to download the free RSLogix software here, I then attempted to install the software when I ran into a new problem: Error 1723
As you can see above, Error 1723 states: “There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run.”
And the DLL in question appears to be CheckFTRegKeyExistence, but after searching all the DLLs and files, I couldn’t find what was missing.
At this point I took a step back, and thought about what was different this time as opposed to the last time I installed RSLogix Micro Starter Lite version 8.3.
I was updating course files using older versions of the software since the feedback students have given me over the years has been that many of them don’t have access to the latest and greatest releases.
But unlike previous “clean” installs, this time I was adding RSLogix Micro Lite to a VMware Image which already had FactoryTalk View Studio 8.0 and RSLinx Linx Lite version 3.70.
So on a hunch I decided to uninstall the RSLinx Classic Lite version (3.7) that comes with ViewStudio 8.0, and install the free RSLinx Classic Lite version 2.57 that comes with RSLogix Micro Starter Lite 8.3.
And once that older version RSLinx Classic Lite was installed, I was able to install RSLogix Micro Starter Lite version 8.3 without any issues.
I even went as far as uninstalling RSLinx Classic Lite 2.54 and re-installing version 3.7 to be sure RSLogix Micro Lite and RSEmulate continued to work with the newer version of RSLinx.
That being said, I’m not sure if there is an easier way to get around this issue, so if you’ve run into this issue and found a different workaround I’d love to know about it!
You can share your thoughts or questions with us by clicking on the “post a comment or question” link below.
Until next time, Peace ✌️
If you enjoy this episode please give it a Like, and consider Sharing as this is the best way for us to find new guests to come on the show.
Eliminate commercials and gain access to my weekly full length hands-on, news, and Q&A sessions by becoming a member at The Automation Blog or on YouTube. You'll also find all of my affordable PLC, HMI, and SCADA courses at TheAutomationSchool.com.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
In this article, we’ll review an example of a complete IoT system based loosely on the system our team recently deployed. If you’re new to IoT, you may wish to first read my “How IoT Works” article here.
Image by Nilesh Soni
In the above image, you can see that our example system has multiple PLCs, which in our facility are Allen-Bradley ControlLogix controllers.
While our system uses PLCs, other devices can be integrated as well, including weighing machine, CNC’s, etc.
Each device is then connected to a Raspberry Pi 3b+ Microcomputer, and in our example the PLC’s are connected using standard Ethernet.
To facilitate the communications from the Raspberry Pi’s to our A-B PLCs, we’ve installed Node-Red server software with PCCC drivers which allow the Pi computers to read and write data to or from each of our A-B PLCs.
From there, data is fed into a MQTT publisher node, which then transfers data over the Internet to a MQTT receiver, which in our example is a Node-Red server installed on an “AWS EC2” instance.
AWS EC2 stands for “Amazon Web Services Elastic Compute Cloud,” and is basically a secure and scale-able web server.
The Node-Red server on the EC2 instance also provides graphical tools which we used to develop a user interface for the end users of our IoT application.
Image by Nilesh Soni
These tools include objects like gauges, graphs, buttons, forms, sliders, pie charts, and bar charts, and are designed to allow the development of the graphical interface without any prior programming knowledge.
From the AWS EC2 instance, the data is then sent to an AWS IoT cloud service where it can be stored and analyzed. This is also where events and triggers can be configured to perform different operations, including writing date back to the control system when user defined conditions are met.
AWS IoT cloud services can also communicate with other AWS services, including:
AWS RDS used to store data in a database
AWS SNS used to send an emergency notifications via SMS and or email.
AWS Lambda used to run lambda functions when incoming data meets defined conditions.
Conclusion:
In this article, we laid the groundwork for future articles by reviewing a complete IoT system architecture.
Now in my upcoming articles, I going into details about the steps needed to setup MQTT to transfer data from a Raspberry Pi to AWS EC2 server instance, including:
AWS EC2 instance setup
Install node-red server on an EC2 instance
Registering a “Thing” on AWS IoT Core
Configuring MQTT nodes on Raspberry Pis and AWS EC2s Node-Red Servers.
Written by Nilesh Soni
Provider of custom ERP solutions and Freelance Writer
Edited by Shawn Tierney
Have a question? Join our community of pros to take part in the discussion! You'll also find all of our automation courses at TheAutomationSchool.com.
Sponsor and Advertise: Get your product or service in front of our 75K followers while also supporting independent automation journalism by sponsoring or advertising with us! Learn more in our Media Guide here, or contact us using this form.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
Note: Insider News articles & videos cover behind the scenes topics at The Automation Blog, Podcast & Show. Starting in 2021 they’re now posted at http:// TheAutomationBlog.com/join
Insider News for 04/29/20
Thank you all for your continued support!
I hope everyone is staying safe and healthy during these trying times!
This month’s insider news is for both March and April:
Until next time, Peace ✌️
If you enjoy this episode please give it a Like, and consider Sharing as this is the best way for us to find new guests to come on the show.
Eliminate commercials and gain access to my weekly full length hands-on, news, and Q&A sessions by becoming a member at The Automation Blog or on YouTube. You'll also find all of my affordable PLC, HMI, and SCADA courses at TheAutomationSchool.com.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
As I was entering kindergarten in 1986, Allen Bradley was releasing one of the first platforms that could be programmed by a personal computer, the PLC-5.
Fast forward thirty-one years later to 2017, Allen Bradley discontinued support of these processors after a long tenure of robust, solid performance.
Even though they are no longer supported, thousands of them remain in operation. It says a lot about what a great product they have been.
The PLC-5. Click image for source
As it will become more and more difficult to obtain parts if a failure does occur, it will become an increasing liability to keep the PLC-5 in control of critical production equipment.
If you have not created a migration plan, then it is probably time to do so. Unless you are changing platforms, the most logical migration is to ControlLogix and there are both hardware and software migration tools to help you through the process with ease.
Part of the migration to ControlLogix is to migrate the PLC-5 ladder code (RSLogix 5) to ControlLogix code (RSLogix/Studio 5000,) and this guide can help you through that process:
NOTE: If you need to convert a SLC-500 or MicroLogix program to CompactLogix or ControlLogix, see our previous article here.
UPDATE – November 2021 by SMT: Rockwell no longer makers the Translation Tool or Project Migrator available as a download, so if you don’t have either in your RSLogix/Studio 5000 installation files or discs, you can try the “new” feature in RSLogix500 v12 and RSLogix5 v10 which allows you to save your program as a Logix file by using the “save as type” menu option, and choosing “Logix Designer Files (*.ACD)” For more information see the free tech note below:
Open your PLC-5 program in RSLogix 5, and then perform an export by selecting “Save As” from the “File” menu.
Then check the box that says “Save database as external files,” and change “Save as type” to “Library Files(*.PC5),” and then click “Save”:
Image by Brandon Cooper
Next, check all the options as shown below and click “OK”
Image by Brandon Cooper
Now select “Tools,” “Database,” and “ASCII Export” as shown below:
Image by Brandon Cooper
Now the following dialog will appear:
Image by Brandon Cooper
Click “OK,” then select the file location:
Image by Brandon Cooper
You will get another popup dialog with the export results, and you can click on “OK” to close that window.
At this point you should now have all the following files need for the migration saved in a single directory similar to the below:
Image by Brandon Cooper
Part 2) Run the Migration Wizard.
Open RSLogix or Studio 5000, and then select Translate PLC-5/SLC 2.0″ from the “Tools” menu:
Image by Brandon Cooper
Once the wizard opens, select the PLC-5 type conversion and click the “Browse” button to select the PLC-5 project that you will be converting:
Image by Brandon Cooper
Now click on “Next,” and then take notice that the output of the wizard will be an “.L5K” file. You will also need to pick a Controller type and Version as shown below, then click on “Next”:
(NOTE: If your exact model or version is not listed, pick the option closest to the one you will be using – you will be able to change this later in RSLogix/Studio 5000 – ed.)
Image by Brandon Cooper
For most applications you’ll leave the default selections and just click on “Next”:
Image by Brandon Cooper
Now click on “Translate”:
Image by Brandon Cooper
In Step 4 of 5 in the wizard, click “Launch RSLogix 5000” (may launch Studio 5000 Logix Designer – ed.)
At this point Logix 5000 will open. Select “Import” and your .ACD file will be created:
Image by Brandon Cooper
NOTE: Often missed at this point is the option to change the Controller’s version, as shown in the below image on the bottom left of the “Save Imported Project As” window – ed.
Image by Shawn Tierney
Your project is now migrated!. You can now run the Logic>Verify>Controller command to see what errors you will need to clean up such as block transfers and messaging instructions that did not convert from the PLC-5 to the logix type code.
Image by Brandon Cooper
For details resolving any import errors, see Rockwell Publication 1756-RM085_-en-p.pdf.
Note:
During this conversion to RSLogix 5000, the maximum selection for the processor was and L6X, and the maximum firmware version was 18.
After this project is migrated, the controller can be changed to an L7X or L8X and be brought up to version 24, 30 or whatever version you wish to use in Studio 5000.
Conclusion
Migrating from a PLC-5 platform to the ControlLogix platform can seem like a large task, but broken down into segments is really very simple.
Hopefully this piece of migrating the code from RSLogix 5 to RSLogix 5000 will be of use to you in your upcoming migrations. My best to you in your migrations ahead.
Written by Brandon Cooper Senior Controls Engineer and Freelance Writer
Have a question? Join our community of pros to take part in the discussion! You'll also find all of our automation courses at TheAutomationSchool.com.
Sponsor and Advertise: Get your product or service in front of our 75K followers while also supporting independent automation journalism by sponsoring or advertising with us! Learn more in our Media Guide here, or contact us using this form.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
Eliminate commercials and gain access to my weekly full length hands-on, news, and Q&A sessions by becoming a member at The Automation Blog or on YouTube. You'll also find all of my affordable PLC, HMI, and SCADA courses at TheAutomationSchool.com.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
If the need arises to use specific time in your ladder logic program, this guide will give you a reference to go by.
Possibly you have a cleaning device that only needs to operate once an hour or once a day or maybe you want to operate a whistle at noon every day, the easiest way to accomplish this task would be to use the Controller’s time (which lives in the memory of the controller).
The value of the controller’s clock is not readily available in the controller tag database, but rather you must make a request in the ladder program to access it.
Along with many other attributes available from the controller, you can use a GSV (Get System Value) Instruction to access this attribute.
This short guide will take you through setting up this request and then using it to accomplish a task.
Step 1
Create a line of ladder and in the instruction palette under “Input/Output”, choose a “GSV” Instruction and set up the following:
Class Name: WallClockTime
Attribute Name: DateTime
Dest: CurrentTime[0] (This is a tag you will create, DINT type with an array of 7)
Image by Brandon Cooper
Step 2
Write your logic changes.
Step 3
Right-Click on “CurrentTime” and Select Monitor to view the tag in the controller tag database
Image by Brandon Cooper
NOTE:
DINT[0] = Year
DINT[1] = Month (1-12)
DINT[2] = Day (1 – 31)
DINT[3] = Hour (0-23) This value is GMT, no matter the controller time zone setting
DINT[4] = Minute (0-59)
DINT[5] = Second (0-59)
DINT[6] = Microseconds (0-999,999) Never had to use it, but I guess it is a possibility
To Activate an Output for a Solenoid on the Hour, Every Hour for five seconds
Create a new ladder rung with an EQU instruction and use the CurrentTime[4] to see if the “Minute” of the controller time is equal to “0”.
If the controller’s time (in Minutes) is equal to “0”, then start a timer for 5 seconds. During that time, you can use the Timer.TT bit to turn on the output for the solenoid in the same rung or you can add an additional rung as shown below to accomplish this.
Image by Brandon Cooper
Conclusion
Keep in mind there are many attributes to obtain by request to a controller via the GSV (Get System Value) instruction and there is an entire library of information on how to get almost any needed value that you would like to obtain.
Using the controller’s time is just one of them, but a very useful one. I have used it many times for reporting, shift changes, whistles and a myriad of reasons. It is a standard logic that I place in every controller that I set up.
My best to you in making the needed logic changes that need to happen on time, every time!
Written by Brandon Cooper Senior Controls Engineer and Freelance Writer
Have a question? Join our community of pros to take part in the discussion! You'll also find all of our automation courses at TheAutomationSchool.com.
Sponsor and Advertise: Get your product or service in front of our 75K followers while also supporting independent automation journalism by sponsoring or advertising with us! Learn more in our Media Guide here, or contact us using this form.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
NOTE: The free “RSLogix Micro Starter Lite” software I detail how to get in this article works with the MicroLogix 1000, MicroLogix 1100, and free PLC Emulator.
If you need help learning to use it, check out my Five-Star Rated PLC Courses at The Automation School. They come with free updates, instructor support, and never expire.
About other versions of RSLogix:
Please note that as of today, there is no “free download” of the programming software for the Allen-Bradley MicroLogix 1200/1400/1500 (click here for that software,) PLC-2/3/5, SLC-100/150/500, CompactLogix, or ControlLogix.
To program those A-B PLCs you can:
Ask Rockwell for a thirty day demo download of the software (aka temporary activation)(click here for details)
Borrow the install discs/files, then install and use it for seven days in “grace mode”
Call your local Rockwell rep. (click here to find) to purchase a software license
Note that you can program the Micro800 series of PLCs with Rockwell’s free CCW software(click here to get CCW).
How to download RSLogix Micro, RSLinx, and Emulate 500
Step 1) Start by navigating to http://www.ab.com, which will redirect you to ab.rockwellautomation.com:
Step 2) Next select “Downloads” on the front page (note that the links may not be in the same order shown below:)
Step 3) Type in “1763” in the search box:
Step 4) Now choose “1763-Lxxx” from the list, then choose version “10”:
Step 5) At this point you need to select the “Downloads” icon on the right as shown below:
Step 6) In the popup window, select the check-boxes for RSLogix Micro Starter Lite w/o RSLinx EN, RSLogix Emulate 500, and RSLinx Classic Lite as shown below. Then click on the “Downloads” link on the top right of the window:
Step 7) Now select the “Download Now” button on the bottom right on the next popup window:
Step 8) At this point you may be asked to sign in. NOTE: If you don’t already have a free account for Rockwell’s website, go ahead and create one (be sure to use a valid email address as you’ll need to open the email they send you to confirm your registration.) Once your account is setup, sign in so you can continue with the download:
Step 9) Accept the end user license agreement:
Step 10) Here at this point I recommend selecting “Direct Download”:
Step 11) Now select the download links for each of the three software packages (RSLogix Micro Starter Lite, RSLinx Classic, and RS Emulate 500) to download the installation files:
NOTE: Below you’ll find a screenshot of Rockwell’s website showing which versions of Windows 7 RSLogix Micro 8.3 is supported on (it does work well on Windows 10, but the free version is not officially supported on it:)
For information on other operating systems check out Rockwell’s compatibility website using the link below:
Eliminate commercials and gain access to my weekly full length hands-on, news, and Q&A sessions by becoming a member at The Automation Blog or on YouTube. You'll also find all of my affordable PLC, HMI, and SCADA courses at TheAutomationSchool.com.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
In this week’s episode of The Automation Show, I cover how to setup FactoryTalk ViewSE to communicate via DF1 using RSLinx Enterprise, and to DH-485 using RSLinx Classic:
For more information, check out the “Show Notes” located below the video.
The Automation Show, Episode 39 Show Notes:
Support our site and get early access to our videos, free downloads and more!
You can now support our site with a small monthly pledge and in turn receive instant rewards! To find out more visit https:// TheAutomationBlog.com/join.
Vendors: Would you like your product featured on the Show, Podcast, and Blog? If you would, please contact me at: https://theautomationblog.com/contact
Until next time, Peace ✌️
If you enjoy this episode please give it a Like, and consider Sharing as this is the best way for us to find new guests to come on the show.
Eliminate commercials and gain access to my weekly full length hands-on, news, and Q&A sessions by becoming a member at The Automation Blog or on YouTube. You'll also find all of my affordable PLC, HMI, and SCADA courses at TheAutomationSchool.com.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
In this article I would like to show you how to configure an Ethernet port on Modicon M340 PLC and assign an IP address.
Before we begin, following is the list of items you need
PC with EcoStruxure Control Expert Small Software installed
Schneider Electric Modicon BMXP342020 PLC
Schneider Electric Programming Cable TCSXCNAMUM3P
Before we look into the configuration of Ethernet Port, let us take a look at Modicon M340 PLC.
M340 PLC
Modicon M340 is one of the Programmable Automation controllers (PAC) that Schneider Electric offers. It is built as all in one controller approach and can cater to wide range of demanding automation applications.
It comes built in with USB port for programming and HMI (Human Machine Interface) and two additional ports as required: Ethernet, Modbus, CANOpen.
EcoStruxure Control Expert software is used for programming and commissioning of this controller.
Step by Step Procedure to Ethernet Settings
Step 0
Create a new project in EcoStruxure Control Expert Small or Extra Large. Select the processor BMXP342020 under Modicon M340 and rack BMXXBP0400.
Image by Farhan Michael
Click OK and a new project will be created.
Image by Farhan Michael
Save your project and give it a name.
Image by Farhan Michael
Step 1
In Project Browser, navigate to Communication and click on (+) to expand the sub-menu. Right click on Networks and select New Network.
Image by Farhan Michael
Add Network window will open.
Image by Farhan Michael
Select Ethernet from the drop-down menu and Ethernet_1 will be selected by default as network name.
Image by Farhan Michael
Do not forget to save your project.
Step 2
Double click on newly created network Ethernet_1. Ethernet settings window will open.
Image by Farhan Michael
This is where you will assign an IP address to your controller. From the drop-down menu, select the Model Family as shown below.
Image by Farhan Michael
Select Yes to confirm the change of Model Family.
Select the IP Configuration tab and assign IP Address and Subnet Mask as shown in the picture.
Image by Farhan Michael
Validate your settings by clicking Validate icon on menu bar.
Image by Farhan Michael
Step 3
In Project Browser, under Configuration double click PLC Bus
Image by Farhan Michael
PLC Bus window will open.
Image by Farhan Michael
Double Click the Ethernet Port on CPU (Slot 0).
Select ETH TCP IP as the function and Ethernet_1 as the Net Link.
Image by Farhan Michael
Validate your settings and close the window.
Save your project.
Step 4
From menu bar, select Build and choose Analyze Project to compile your project.
Image by Farhan Michael
The project should build with no errors.
Congratulations! You have successfully configured Ethernet port on Modicon M340 PLC and have assigned an IP address to the PLC.
Written by Farhan Michael Automation Specialist, Training, and Freelance Writer
Have a question? Join our community of pros to take part in the discussion! You'll also find all of our automation courses at TheAutomationSchool.com.
Sponsor and Advertise: Get your product or service in front of our 75K followers while also supporting independent automation journalism by sponsoring or advertising with us! Learn more in our Media Guide here, or contact us using this form.
I'm a lifelong Technology Enthusiast who began programing in the early 80's on the Apple II and VIC-20 personal computers. After earning a degree in Electronics, I worked as a Certified Controls and Information Automation Specialist for 25 years before leaving to become a full time Industrial Automation instructor and mentor at TheAutomationSchool, as well as publishing industry interviews, news, and product how-to’s at TheAutomationBlog.com. If you're interested in my training, mentoring, or becoming a sponsor, please schedule a teams meeting with me via https://calendly.com/shawntierney/business-meeting
You must be logged in to post a comment.