No announcement yet.

Function Block..... Please

  • Filter
  • Time
  • Show
Clear All
new posts

  • Function Block..... Please

    G'day guys,

    The P3000's are a pretty good workhorse in a decent sized application (I can't really think of too many limitations in the PLC world) and some of the features like the Analog Module displays make a maintenance tech's life really easy at 2am when things aren't going well.

    The one thing that really holds the Productivity back is in the development of lots and lots of repetetive code.... we can do this with indexed addressing but it's clunky to use if you're not used to it, and de-bugging can be a pain - de-bugging routines are clunky as well.

    The logical way to go is with Function Block.... specifically, having the ability to create your own blocks as needed. Schneider have got this down pat, and the others are working hard to catch up. To me, it's something that I would happily PAY for if it meant having a decent FB programming environment available... is there any possibility whatsoever that this will happen one day?


  • #2
    When you say function block, what exactly do you mean? Function block style programming with blocks and wires or the ability to pack a bunch of instructions into a block and call it?
    If you have an urgent issue, please contact AutomationDirect's Technical Support team. Technical Support: 1(800) 633-0405 or (770) 844-4200 Email Tech Support


    • #3
      My guess is that OP is asking about something like the request in this post #1


      • #4
        User Defined Function Blocks, as in IEC 61131-3 Object oriented programming.


        • #5
          Pretty much as Colonel said.... Even if it's not "Function Block" as per the IEC purists, the Rockwell AOI (Add On Instructions) that you can build yourself also pack one hell of a punch. Simply put, a single container with all of the code needed to run something and inputs / outputs connected or referenced elsewhere in your code.

          An example is drive control.... build a single block can handle start / stop control, as many different categories of interlocks and / or categories of overrides as needed, first up alarming, hours run, starts & fault counters, etc.... there's as much code inside the block as needed to do it all... develop, test the hell out of it, and deploy it over and over as needed. When you paste your new block the tag structure that you define when you've built it is also created - perfect in a tag based environment like Productivity.

          There's hours, days, and even weeks of time saved on develpment of projects depending on their size, and once it's accepted that the block just works maintenance personnel just need to look at what's going in to the block to see why the drive's not running.

          Conventional ladder IS simple, but it's only advantageous in simple (dare I say it, low level) coding... bear in mind that your custom blocks may actually contain ladder as well as Function Block, SFC, or Structured Text... but there's no need to have a hundred lines of ladder for each and every device in an application. Yes, indexed addressing / pointers are a solution but they're just plain ugly.

          The other major advantage with doing it this way is that every block of a particular type is the same... how often have you jumped into a PLC to see every drive in the place coded to a different standard with tag names and data table allocation all over the place? Not cool, and a maintenance guy's worst nightmare at 2:00am.

          For me, Productivity is a competitive package hardware-wise for just about any job up to and including medium sized processing plants, mining operations etc. unless redundancy is required..... EXCEPT for the development time - that's a show stopper. I'll pay good money for something that will give something that matches either Schneider's DFB or Rockwell's AOI functionality and I'm sure many others would.

          It's time to get into the game in a serious way.

          Last edited by BushPig; 05-16-2019, 05:48 PM.