Learn how to create your own tables or "Driver Sheets" for those times when Tag Integration doesn't give you quite enough control over the Tag. This is especially helpful when you want to automatically scale a tag or work with arrays of tags.
In a previous video we saw how with Tag Integration we export a CSV file from the Productivity Suite software, and then tell Point of View where to find that file. What we didn’t say was what Point of View does with that file. Point of View takes the information from the CSV file, parses it and builds a lookup table so when we ask for a specific tag, Point of View uses that table to figure out where to get it from. Point of View calls that table a Driver Sheet. One of the really cool things about Point of View is it allows you to manually create your own lookup tables or “Driver sheets.” There is a Main Driver Sheet – you can only have one of those per controller type - and Standard Driver Sheets which you can have 999 of. The difference is the Main driver sheet can be filled in with tag information from any device of that type in the system and any combination of data types for that device. The Standard driver sheet can only talk to one device and only one data type. But, you can have up to 999 driver sheets per driver so you can create one for every device and data type you need to communicate with. Since the Main Driver sheet can talk to any combination of devices and data types, you only ever need one of those. The reason for having two different kinds of driver sheets is triggering. The Main Driver sheet is updated at a periodic rate which defaults to every 600ms. The Standard Driver sheet has more options for triggering when the tags get updated – you can trigger an update on an alarm or an event. Or you can schedule updates to do something like a burst of communications at 2am every morning, stuff like that. With standard driver sheets you can get very specific with the triggering because you are only talking to one device and one data type. In this video, we’ll focus primarily on the Main Driver sheet. It will be all you need most of the time. And once you understand how to setup the Main Driver sheet, you’ll be able to do the Standard driver sheet too. One of the handy things about building your own Main Driver sheet, is you don’t need access to the controllers software. For example, in the previous demo we had this switch in point of view change the Motor_Enable down on the controller which changed output #1. What if we want to control output #2 from Point of View? Can we do that even though there isn’t any ladder code on the controller? Sure! We just tell the Main Driver Sheet which Tag or I/O we want to control and we’re done! And that’s without access to the Controller software, the exported csv file or ladder code. It’s completely independent of all of that. So let’s do exactly that – let’s control output #2 on the controller from point of view even though there is no ladder code on the controller to handle it. Just to show that Point of View can control pretty much anything independent of the code on the controller. In a real application you would normally have Point of View tell the controller to do it – it’s not good practice to have an HMI commanding controller I/O directly. On the communications tab, right click Drivers to add a driver. I’m using a Productivity Series controller so I would select that driver. In our example that driver is already selected because the TAG Integration did it for us. But if we hadn’t done the Tag Integration – I’ll remove the driver - it would have looked like this, and I would click on it and Select it. If you have other controllers you need to communicate with, then add them to the list too. Once the driver is selected, it automatically creates a Main Driver Sheet for us right here. Double click on that to bring up the table we need to fill in. You can change the name to something that makes sense to you. We’ll call our Oven Controller. You can put a tag or an expression here to disable the driver sheet. Maybe you only want this to be active between 2 and 3am for example. We’ll leave it blank for now which says run all the time. These four tags are really important. If you put tag names here, then you can monitor those tags to see what is going on with the driver sheet. You can use those to see when reads and writes are completed and most important, if there is a communications error, you’ll get a code telling you what the problem is. We’ll do a demo of that in just a minute. This Min/Max changes these columns to Min and Max so you can do automatic scaling via the tag properties. We’ll cover that in the video on Scaling. And down here we have the table we need to fill in. We want to modify output number two, but instead of using the Productivity Controllers convention of group, base, slot, bit … we’ll call it Y2 just to emphasize that we can name it anything we want – we’re not tied to the Productivity Controllers naming convention. You might do this to be consistent with other controllers which you have in your system, for example. The station is the IP address of the controller we want to talk to AND we’ll add the TCP/IP port number here too. Do you need the port number? Maybe, maybe not. But if you read the documentation, it will tell you that port 502 is required, so it’s best to get in the habit of adding it here just to be sure. Plus if you have to get your IT guys involved to help solve communications problems, there will be no question what port you are working on which will save them time. The I/O address is the memory location in the controller we want to talk to. There is a very specific format for this depending on what you want to talk to. That’s under Help, Communications drivers, double click on the driver you are using. This covers everything you need to know about the driver including the standard and main driver sheet. Here’s that port 502 note we were talking about. If we go to the main driver sheet section, you can see the list of all the different kinds of memory addresses you can access in a productivity series controller. We want a digital output so I’ll scroll down to that one – and we see the format is DO: group, base, slot, bit. Very similar to the Productivity convention for that IO. The only difference is the Productivity Suite Software has a dash here, point of view wants a colon. So we just type that here. We want to be able to read and write this output so we leave that alone. And here are out triggering options. We can always scan this tag – the default rate is every 600ms, we can scan this tag only if the screen it is used on is active, or we can let Point of View automatically try to figure out when it’s appropriate to scan the tag. We’ll leave it at Always for this demo. This stuff over here is for scaling, will leave it blank for now. We’ll, now that we have defined this tag in the Main Driver sheet, we’ll save it and it is ready to use. Let’s drop another switch on the screen. Double click. And we want to control and monitor the output 2 tag we just created in the main driver sheet. Save that screen and run it. And sure enough, we now have control over output #2. And remember, we did this independent of any ladder logic or even access to the controller’s software. Let’s drop some text boxes on the screen to monitor the read and write status and let’s pretend we have a typo on the main driver sheet – we accidentally typed a Digital In instead of an out. Save everything. Run it. And as expected, we are getting errors. If we go back to help, communications, select our driver and scroll down to the bottom, we see a list of the error codes. And it tells us there is an issue with writing to the address. We know that – we’re trying to write to a digital input, but you can see how keeping an eye on these error codes can be really helpful. Let me fix that and save it so I don’t forget ... With Tag integration there was no way to automatically scale a tag as it came into point of view. With the Main Driver sheet you can specify the automatic scaling for each tag. We’ll do a live example of that in separate the video on scaling, but in a nutshell you just put a number here to divide into the tag coming into Point of view and a number here to add an offset to that tag. It does the exact opposite to un-scale the tag heading out of Point of View. The tag is multiplied by this number and this number is subtracted from the tag. If you have another Productivity controller, then you can add tags from that controller simply by putting his IP address here. If you have a different type of controller – say a Do-more controller - then just right click drivers, add new driver go grab that driver –the Do-more driver in this example – and then hit select to add it to the list. You can now create a main driver sheet for all of the Do-more controllers in your system. I can’t add a Do-more driver because I’m using a 500 tag license. The licensing breaks down like this: a 500 tag license gets you 1 driver a 1000 tag license gets you up to 3 drivers and a 5000 tag license gets you up to 10 drivers. That’s really important to take into account when deciding which package to get. Of course you can always upgrade your licensing on the AutomationDirect web store. To create a Standard Driver Sheet, just right click on the driver and select insert. It’s very similar to the Main Driver Sheet except now you have more triggering options and the entire sheet is for a single device – put the IP address here - and a single data type. The codes for the data type are back in help, communications drivers, select your driver, go to the standard driver sheet and scroll down to the header section. You literally put one of these codes in the header box. The rest is just like the Main Driver sheet so we won’t dwell on it here, but I do want to encourage you to read through the help file because there are some things there you need to be careful about when setting priorities and triggers that could affect your entire system performance. Well, that should be enough to get you started with Driver Sheets. If you have any questions, please don’t hesitate to contact AutomationDirect’s Free, award winning tech support during regular business hours. They will be happy to help you. And don’t forget the forums – there are lots of folks there that love to share their years of experience. Just don’t post any questions directed at AutomationDirect’s tech support there, they don’t monitor the forums on a regular basis.