![]() ![]() However, this super-fast I/O sets up an issue that you need to be very aware of as a programmer. Second, it allows your program to get an updated value and react to it as fast as possible, frequently achieving sub-millisecond response times for very fast processes such as high speed (10,000 piece per second or higher) equipment or motion control. First, quite often 90% of your I/O isn't changing state at all and it wastes time and resources to constantly update a value that doesn't actually change. There are a couple reasons for doing this. I/O is updated independent of logic solving. Finally, it writes the data in the output image table into the output devices.Race conditions dealing with I/O in a single scan can't happen because from a program point of view, all I/O is updated "simultaneously". Then it solves the logic (aka "runs the program"). First, the PLC reads all the inputs into the input image table. On older PLC's, there are 3 phases in each scan. ![]() The biggest reason that programmers do this has to do with having race conditions in their logic. Then when you go to transfer the data into the I/O card, you treat it as a full word and write it to the card, or vice versa, you read an entire word at once. How you do it is that you have say a 16-bit word, or you create a 16 bit array with individual bits.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |