|
Profile
Personal Photo
Options
Personal Statement
AzeoTech doesn't have a personal statement currently.
Personal Info
AzeoTech
Guru
Age Unknown
Gender Not Set
Location Unknown
Birthday Unknown
Interests
No Information
Statistics
Joined: 27-July 07
Profile Views: 6,722*
Last Seen: Today, 07:08 AM
Local Time: Sep 10 2010, 09:00 AM
2,068 posts (2 per day)
Contact Information
No Information
No Information
No Information
No Information
* Profile views updated each hour
|
Topics
Posts
Files
Comments
Friends
My Content
27 Sep 2009
We received this email directly and it covers most of the common questions that users of the big, expensive packages like Wonderware and Citect often ask:
Thank you for your inquiry. Here are the answers to your questions: 1) Support plans available and cost per install. We do not offer support plans in general. Support is free as long as it doesn't get to the point of us developing your application. If you need to provide significant support in developing your application it is available on an hourly or flat rate basis. This rarely happens as DAQFactory is rather easy to use and most everyone can develop their applications with little or no support. 2) If not on support plan is it still possible to get limited online or phone support? You can also get support from our forum, which has a lot of information as well. Email support is available. Phone as well, within reason. 3) Hardware and software key options and pricing. With the exception of DAQFactory Developer which requires and includes the hardware key, all versions of DAQFactory can either be soft or hard licensed. By default they are soft licensed and the key delivered on purchase. The hardware key can be purchased as an option for $40 plus shipping. This allows you to easily move the development license around. I should point out that DF is very different from other apps in that the runtime and development are the same application. With a hardware key, you can go to a runtime installation, put in the key, switch to development mode, make changes, then pull the key and it will revert to runtime without every having to stop your application. 4) Is soft key option a floating license, or is it subject to limited hardware change, such as hard drive only or motherboard only? Please specify criteria. DAQFactory is licensed like most any other software. For every license you purchase, you can run it on one machine at one time. The soft key typically locks to a computer, but really is not terribly strict. If you wanted to steal from us, you certainly could, but we trust our customers first. The key has a limited use, to avoid simple posting to the internet, but otherwise, if your harddrive crashes or you just need to move the license, you can reuse the original key. If you plan on moving back and forth between computers you should purchase the $40 hard key option. Note that Developer gives you royalty free runtime licenses. You are still licensing each Runtime, but you don't have to pay us for it. There is no unlock mechanism. The license is stored in your document. 5) If hardware changes are too drastic what is the re-activation procedure and how long does it take? Is the re-activation possible if head office overseas is on public holiday? Instant, as long as you haven't used the key too many times, in which case it will probably take 24 hours as we'd have to manually reset the key. Getting to the key limit would indicate that you had reactivated many times. Note that we monitor or email every day, even holidays and weekends as a holiday or weekend here in the states is not necessarily a holiday or weekend elsewhere. Plus many of our systems run 24x7 and don't stop at 5pm on friday. 6) Provide pricing breaks for runtime license up to 300 tags. Please specify how the tags are counted. Runtimes are limited by the development version you purchase and all cost $99 (except Developer runtimes, which are free). Base is limited to 64 tags ($399). Pro ($899) and Developer ($2499) are unlimited (within the limits of DF itself, which is maybe 3000 tags. You could do more, but it would be challenging. DAQFactory is simply designed for smaller systems < 3000 tags) 7) What was the price of the last major upgrade, for a 150 tag runtime? We do not currently charge for upgrades. 8) Provide price for development license. See #6. 9) Is there a demo version for development and runtime? How is it limited? Yes, and we strongly recommend trying it as DAQFactory is very different from what you are used to, both in how it works and how it is licensed. We have tried to make it simple but flexible. It is obvious from your questions that you are used to the big SCADA companies that charge an arm and a leg for everything. The demo is limited to 25 days and you don't have access to all the symbols in the symbol library (though you can browse through them). Otherwise it is fully functioning and most people at least start their app to prove that DAQFactory will work for them. 10) What native drivers are provided, if any? If it is an option, please provide pricing for major PLCs. ModbusRTU/TCP/ASCII, AB DF1, Mitsubishi FX, A, Q are native. You can create your own protocol for PLC's and other devices with simpler protocols. DAQFactory is also an OPC client, so will talk with any OPC server. There is no additional charge for any of the drivers (though we do not offer OPC servers). 11) Do you recommend a specific OPC driver, and how much if you can supply it? No, we recommend using our native drivers if possible. OPC just adds another software layer. PLCs and other devices are moving quickly towards universal Modbus support and we recommend selecting these devices over ones with proprietary protocols that would require an expensive OPC server. We do not supply OPC servers, but recommend the ones from Software Toolbox 12) Is remote access possible using web browser, and is it client platform independent? If web server is a separate module please quote pricing. DAQFactory has moved to offer DAQConnect service, which gives client platform independent access to DAQFactory data. DAQConnect is a completely different product and is offered as a monthly service. Data is pushed from DAQFactory (or any other device or software really) to the DAQConnect servers where it is stored. Screens are created in a browser and then can be accessed from anywhere from any Javascript compliant browser (which includes the iPhone). Since DAQConnect hosts the data and the pages, there is a monthly fee. Please see www.daqconnect.com for more information. DAQConnect works with both DAQFactory and other SCADA packages and can even be incorporated into hardware devices. Because the remote access is to the DAQConnect servers and not to DAQFactory and the internal corporate network, there is no security risk to the SCADA system, nor are any firewall changes required. I see from your website that you work with some of the other SCADA packages (Wonderware, Citect, etc). Please note that DAQConnect is not limited to DAQFactory and will work with these other packages as well to make them web enabled without the security issues of the SCADA software hosting a webserver themselves. 13) Are existing projects automatically converted to a webpage, or do they need to be recreated? They would need to be recreated because DAQConnect is a different product than DAQFactory. Also, since it runs in a browser using native Javascript (not flash or Java, which don't work on all platforms and require a download), the visualization options are different to DAQFactory which runs only on a PC. 14) Ability to generate emails on an alarm. No problem. 15) Make changes without having to recompile whole project. Definitely. Not only that, but you can make changes without even having to stop the project. In fact, during development, one will typically start acquiring data, then creating screens while the data is coming in. 16) What sort of scripting features are available? vba, c or custom language? Custom language, similar to C. Ability to access external DLL's if needed, but otherwise its rather powerful. 17) How are global variables handled between different pages? E.g. internal global variables or need to use OPC tags. If OPC, do these tags count towards total tag limits? DAQFactory isn't as tied to OPC as other SCADA packages. OPC tags come in as channels, just like the native protocols. Global variables don't count towards anything and are accessible from all pages. Really you should try DAQFactory because these annoying limitations that other SCADA products have just don't exist in DAQFactory. 18) Please provide an example of graphics, eg trending, dials, gauges, push buttons and other general graphics. I recommend simply downloading a trial and running some of the samples. For DAQConnect samples, go to www.daqconnect.com
4 Oct 2008
The other night I was watching a Discovery channel program called "How its Made" with my wife. She likes to see the cool machinery. I like it because she can understand a little better what I do (and I'll admit I like the cool machinery too). I'm also constantly on the lookout for computer screens showing SCADA software and maybe DAQFactory. Well, finally they showed a screen, but unfortunately I couldn't tell if it was DAQFactory for sure. It certainly had the DAQFactory graphics, but without the title bar, or maybe a graph, I could not confirm it. And although it would not surprise me if someone had used DAQFactory in an ice cream cone manufacturing plant, I do not know of it.
Which brings up a good point: despite the large number of DAQFactory customers, we know what only a small percentage are using DAQFactory for. We know that it is used in just about every industry, just based on the customers that purchase. Not knowing customer application details is largely a credit to DAQFactory's ease of use, as many customers purchase without ever needing support, and those that need support usually get up and running quickly before we get to ask them what application they are using DAQFactory for. So, for anyone that is willing to share, we would love to hear from you about what you are using DAQFactory for. In fact, if you email us a few screenshots and photos and a few rough paragraphs (we'll clean it up) describing your application, we'll make a white paper out of it and show off your work to the world on our website. We'll even provide a link to your website. We don't care if its a big or small application, DAQFactory works just as well for both, so send them on. Then, next time How its Made shows a screenshot, I can tell my wife, "Oh yeah, that probably is DAQFactory. We definitely have a few people using it for..."
2 Oct 2008
From the direct emails:
I am trying to get a file to log every half hour (1800s) I have a Logging component called TEST. The file needs to log on the exact half hour so 15:00, 15:30. 16:00, 16:30 etc. I have tried the below piece of code which does nothing. CODE while (1) // set the logging file name to "My_File" plus the date/time Logging.Test.strFileName = FormatDateTime("My_File_%y%m%d.csv",SysTime()) // wait until next half hour waituntil(floor(SysTime() / 1800) * 1800 + 1800) endwhile the below piece of code CODE while (1) // set the logging file name to "My_File" plus the date/time Logging.Test.strFileName = FormatDateTime("My_File_%y%m%d.csv",SysTime()) // wait until next hour waituntil(floor(SysTime() / 3600) * 3600 + 3600) endwhile Works and logs the file every hour on the hour And the below piece of code works and logs the file evey hour on the half hour (15:30, 16:30 etc) CODE while (1) // set the logging file name to "My_File" plus the date/time Logging.Test.strFileName = FormatDateTime("My_File_%y%m%d.csv",SysTime()) // wait until next hour waituntil(floor(SysTime() / 3600) * 3600 + 3600) // wait until next half hour waituntil(floor(SysTime() / 3600) * 3600 + 1800) endwhile Am I on the right tracks or miles off? I’ve also seen a piece of code that looks something like CODE WaitUntil(16h) Delay(1800) Any help is greatly appreciated
17 Sep 2008
A common, and quite useful programming technique is the recursive function. This is when a function calls itself with different parameters to work through some sort of complex structure. The best example for this is the population of a tree control with the directory structure of a harddrive. A function can be created to fill in a particular directory, and then that function can call itself for each of the subdirectories, working its way through the entire drive using only a few lines of code. This could be useful if you have a subdirectory tree for storing logged files and you want your users to be able to select files from the tree without using the File.FileOpenDialog() function which allows them access to the root and other areas of the harddrive.
I've attached an example of doing exactly this using DAQFactory (requires 5.79+). Click on the PopulateTree button to start the process. The number Number Files/Directories will increase as its doing it. You can stop the process by clicking the same button. You can then double click on any file in the tree and full path and file size is displayed (see the tree list's properties for the script for this). The recursion starts with the PopulateTree sequence which clears out the tree, determines and adds the root, then calls RecurseDirectory() on it. RecurseDirectory is the one that repetitively calls itself as it works down the directory tree. I've added some optimization (see comments in script), but without it, the whole RecurseDirectory function could be about 10 lines. One key point about recursion is making sure you there is an end. In this case, doing GetFilePathList() will return the . and .. paths which in Windows signify the current and parent directory. If we recurse on these, we'll end up in a infinite recursive loop. These are VERY BAD and result in a blown stack. A blown stack is something that DAQFactory cannot recover from and DAQFactory will just quit with no warning. Which brings up another important point: When working with recursive loops, I strongly recommend walking through the code using the debugger, at least the first time. I made the mistake of not doing this and had forgotten about the . and .. issue and so blew the stack and crashed DAQFactory. Once I walked through it, looking at the variables I knew exactly what had caused it. Recursive loops work well whenever there is some sort of tree like structure and make for very clean code. Feel free to post if you have questions about the sample or recursion in general.
Attached File(s)
25 Jul 2008
In a previous post I talked about how to do one of the two main types of "recipes". In that case a recipe was a set of preset values that would be sent to a device. This might be used, for example, when mixing paints. A recipe would be the amount of the primary colors to make the final result.
In this post I'd like to show you how to do the other type of recipe. In this case, a recipe is really just a high level set of steps to perform. Truthfully, DAQFactory scripting is just low level, highly flexible, recipe system of this sort, but with power comes some learning, and you may only want to give you end users a few choices. My description is a little detailed, but the sample is pretty easy to expand on without completely understanding it all, and truthfully, the sample shows some good ways to make many tasks easier, so is worth figuring out if you are going to do any advanced DAQFactory scripting. In the attached sample (requires 5.78+), I have created a simple heater / temperature simulation that can be controlled from a simple, user definable recipe. The user can create up to five steps in their recipe and they have a few choices for what they can do in each step, mainly, turn the heater on, turn the heater off, wait for the temperature to reach a certain point, and do a pause. The user can specify the recipe by selecting from these options in combo boxes, with edit boxes that appear when a parameter is required. As usual, I designed this sample so you can easily build on it. The possible recipe steps are stored in three arrays, one for the name of the step, one for the action and one for a flag that marks if there is a parameter for the action. These are all defined in StartUp. To add more steps possibilities, just add on to the array in StartUp. Note that the StepAction is a string that contains a DAQFactory script line. It is injected with a value using format() which is what allows a parameter to be set. Just use %f in the line wherever you want the parameter. The recipe itself is stored in two arrays, one for the step index, and one for the parameter (if any for that step). At the end of startup, I filled all the combos with the choices. I only made 5 combos, but you could easily make the recipes longer by adding more combos and edit boxes. Just change MAXSTEPS and add the new screen components, remembering to edit the parameters for each. Speaking of the screen components, the recipe gets specified by the user using a set of combo's and edit boxes. The edit boxes appear and disappear depending on whether the selected step has a parameter to specify. This is done in the OnPaint event of the edit box (you have to View - Events to see it). Yes, I know I've previously lectured on why you shouldn't use edit boxes on main screens, but presumably you would NOT put a recipe specification on a main screen, and instead would create a popup or secondary screen that has to be acknowledged. Finally, the actual recipe gets run in the RunRecipe sequence, which really just loops through each step and calls execute() on it. Notice how, instead of using delay() for the pause step, I created a sequence function. This allows the recipe to be stopped midway in a controlled manner. This is better than simply stopping the RunRecipe sequence because if we do endseq() on a sequence, we don't know where it ended. So, to try it, I recommend creating a recipe something like this: Heater On WaitForTemperature xx.xxx Heater Off where xx.xxx is some temperature that is about 0.5 higher than the current displayed temperature. Then run the recipe. Feel free to post with questions. Again, this sample requires DAQFactory 5.78 or later.
Attached File(s)
|
Last Visitors
Comments
Other users have left no comments for AzeoTech.
Friends
There are no friends to display.
|

18 Aug 2010 - 1:43
14 Jul 2010 - 17:39