Public Forum WTF



  • The backstory to this is a WTF in itself - its 2012 and I am trying to write an ActiveX control in C# that wraps a .Net control to insert into a VBA host under a commercial industrial control product, which requires some specific interface to be defined before the control can be fully integrated. Oh yeah .. and I have no documentation!

    The product I am trying to integrate the control into is Rockwell Automation's Factory View. Not a bad product as these things go, but I have limited experience with it (IE A client offered me a job the other week to develop some VBA and ActiveX based screens in it and I said yes - but I do have decades of experience with various other products that are their competition.) So I am struggling with writing that custom ActiveX control [1] and discovered that I am probably missing a required COM interface. Finally I decide to head over to Rockwell's tech support site to see what I can glean.

    I'm happy to see a link to some public forums at Access the public forums .. and then it starts ..

    1. The public forums link requires you to log in!!!
    2. If you don't log in with in a specified time, a dialog pops up to tell you that your login session has timed out. Hitting "OK" reloads the page which resets the timer.


    [1] Another WTF I encountered today is that 32 and 64 bit processes can't communicate with each other via COM, and that the VS2010 standard command prompt sets the execution path to the 32 bit version of regasm and the 64 bit version of cscript (But the x64 prompt sets paths to 64 bit regasm and 64 bit cscript). So by default VS2010 was ensuring I was installing a 32 bit process and testing with a 64 bit process.



  • While the forum is a big joke and VBA/ActiveX are a bit rusty, I hope you understand how lucky you are to work on something cool like industrial automation products. At some point in the future you will find yourself doing code review and closing tickets in a bug tracker for a boring tax application or something like that, and you will miss the days where you were pulling your hair trying to make this automation thing work. You will laugh quietly when people will complain about A/C going nuts or the elevator stopping on floors where nobody has called it, then go back sadly to your tickets and ugly SAP timesheet.



  • @Speakerphone Dude said:

    how lucky you are to work on something cool like industrial automation products.

    Industrial automation is just as WTF'ed up as everything else. There is a special place in hell for Rockwell and GE Fanuc (iFix) developers. (I hate calling them developers)



  • @brianw13a said:

    There is a special place in hell for Rockwell and GE Fanuc (iFix) developers. (I hate calling them developers)
    GE as in General Electric? The company that makes medical software, which when installed sets up a service that runs a Remote Desktop Connection (which you have to partially set up manually, by switching to the Session 0, typing the username and password, and checking the Remember credentials checkbox; you also then have to disable the Interactive Services Detection service so Windows doesn't bug you all the time about the window opened on the services desktop) because it needs to run some kind of image conversion software in 32-bit colour depth (no, I'm not making this up)? The same software also installs Sybase SQL server, which crashes and burns when the machine has 8GB of RAM, because the 32-bit service tries to allocate 4GB of memory (admittedly, this is Sybase's problem, and not hard to work around once you know why everything is failing - but you'd really expect them to at least mention this somewhere (because nobody ever uses servers with more than 4GB of RAM, right?).



  • @ender said:

    @brianw13a said:
    There is a special place in hell for Rockwell and GE Fanuc (iFix) developers. (I hate calling them developers)
    GE as in General Electric? The company that makes medical software, which when installed sets up a service that runs a Remote Desktop Connection (which you have to partially set up manually, by switching to the Session 0, typing the username and password, and checking the Remember credentials checkbox; you also then have to disable the Interactive Services Detection service so Windows doesn't bug you all the time about the window opened on the services desktop) because it needs to run some kind of image conversion software in 32-bit colour depth (no, I'm not making this up)? The same software also installs Sybase SQL server, which crashes and burns when the machine has 8GB of RAM, because the 32-bit service tries to allocate 4GB of memory (admittedly, this is Sybase's problem, and not hard to work around once you know why everything is failing - but you'd really expect them to at least mention this somewhere (because nobody ever uses servers with more than 4GB of RAM, right?).

    If you know how to solve all those problems, then there is no problem.



  • @Speakerphone Dude said:

    If you know how to solve all those problems, then there is no problem.

    "If a problem can be solved, there is nothing to worry about. If it can't be solved, worrying will do no good."



  • @Speakerphone Dude said:

    If you know how to solve all those problems, then there is no problem.
    I know now. I didn't when we started.



  • @Speakerphone Dude said:

    If you know how to solve all those problems, then there is no problem.

    I have a problem with this philosophy. You won't like my solution.



  • @Speakerphone Dude said:

    If you know how to solve all those problems, then there is no problem.






    Actually yes, there are still problems. That list is just the tip of the ice burg. It gets really fun when the software breaks for seemingly no reason or settings change on their own and you get a call at 2am to fix it. Throw in that tech support from GE and Rockwell is poor at best so you can never really know the root problem. Being that these are 24/7 processes and downtime is a loss of big $$$, there are no "office hours".



    I've been doing this since before I graduated and I have to admit that I do like seeing the various processes, traveling to different areas of the world, and meeting new people. The downside is that a lot of the software in this industry is just crap. The "coolness" of working in industrial control had worn off long ago.



    And that's just the software side.



  • @brianw13a said:

    The downside is that a lot of the software in this industry is just crap. The "coolness" of working in industrial control had worn off long ago.
     

    Look at it this way -- You could always leave industrial automation and go into something much cooler, like game development.

    I'm sure that there's much less crap there.

     



  • @OzPeter said:

    ... Another WTF I encountered today is that 32 and 64 bit processes can't communicate with each other via COM, and that the VS2010 standard command prompt sets the execution path to the 32 bit version of regasm and the 64 bit version of cscript (But the x64 prompt sets paths to 64 bit regasm and 64 bit cscript). So by default VS2010 was ensuring I was installing a 32 bit process and testing with a 64 bit process.
    I'm pretty sure thats not a WTF but an engineering tadeoff; i.e. microsoft decided to erect a giant wall between 32 and 64 bit procceses. 64-bit processes cannot load 32-bit modules (dlls) and 32-bit processes obviously can't load 64-bit modules. Thunking is not a solution; raymond also has some other good articles on this subject.

    ActiveX Control or ActiveX Automation server, they are very different beasts. An ActiveX Automation Server is simply a COM object with an IDispatch interface. IIRC ActiveX Controls are mostly UI widgets loaded into another process.

    There may be some IPC options to communicate between 32-bit and 64-bit processes, in the ActiveX/COM scenario an out of process server may be the solution; IIRC most COM servers are in process.



  • @brianw13a said:

    It gets really fun when the software breaks for seemingly no reason or settings change on their own and you get a call at 2am to fix it.

    Are you working for Cyberdyne?



  • @DCRoss said:

    @brianw13a said:

    The downside is that a lot of the software in this industry is just crap. The "coolness" of working in industrial control had worn off long ago.
     

    Look at it this way -- You could always leave industrial automation and go into something much cooler, like game development.

    I'm sure that there's much less crap there.

     

    I heard (ba)Zynga is hiring and I'm sure that for top dudes they are willing to throw in a big stack of their 3$ stock.



  • @esoterik said:

    I'm pretty sure thats not a WTF but an engineering tadeoff; i.e. microsoft decided to erect a giant wall between 32 and 64 bit procceses.
    The WTF wasn't the architecture decision .. it was the MS tools having defaults that set one part of the system up as 32 bit and the other at 64 bit - and hence torpedoed my testing.



  • @brianw13a said:

    I've been doing this since before I graduated and I have to admit that I do like seeing the various processes, traveling to different areas of the world, and meeting new people. The downside is that a lot of the software in this industry is just crap. The "coolness" of working in industrial control had worn off long ago.



    And that's just the software side.


    Totally agree that the software sucks in IA. A lot of enjoyment I get out the field is with figuring out how to make things work given the constraints. That and seeing big machinery move under my control (especially hot strip mills where the the aim is process 1000 deg C, white hot blocks of steel). Right now I'm back working a contract with another company that I have done a lot of work with in the past and the people I am working with make the effort really worthwhile.

    I'm working on cranes for this project, and as an added bonus if I go to site I could literally be up to my arse in alligators if things go wrong. But to keep things interesting I am also exploring using WebGL to do some visualization of some movement/path planning algorithms . I am also seeing more and more use of iOS et al based apps in the IA field .. so there are different challenges if you want to look.



  • @OzPeter said:

    I'm working on cranes for this project, and as an added bonus if I go to site I could literally be up to my arse in alligators if things go wrong.

    ??? Do you work in the Everglades?



  • @Xyro said:

    @OzPeter said:
    I'm working on cranes for this project, and as an added bonus if I go to site I could literally be up to my arse in alligators if things go wrong.

    ??? Do you work in the Everglades?
    I was guessing Japan, where else can you find a factory that automates alligators?



  • I realized it after I posted, but his name presumably gives it away. He works on brolgas.



  • @OzPeter said:

    I'm working on cranes for this project, and as an added bonus if I go to site I could literally be up to my arse in alligators if things go wrong.

    "What are your three biggest fears?"

    "Alligators by far the worst."



  • @OzPeter said:

    Totally agree that the software sucks in IA. A lot of enjoyment I get out the field is with figuring out how to make things work given the constraints. That and seeing big machinery move under my control (especially hot strip mills where the the aim is process 1000 deg C, white hot blocks of steel). Right now I'm back working a contract with another company that I have done a lot of work with in the past and the people I am working with make the effort really worthwhile.

    I'm working on cranes for this project, and as an added bonus if I go to site I could literally be up to my arse in alligators if things go wrong. But to keep things interesting I am also exploring using WebGL to do some visualization of some movement/path planning algorithms . I am also seeing more and more use of iOS et al based apps in the IA field .. so there are different challenges if you want to look.

    I feel your pain. I despise steel. Its hot, dirty, and they are usually anal about safety to a fault. I was on a project at a steel mill last year reprogramming the baghouse to control pressure to a new arc furnace. In addition to 90+ F ambient, I had to wear greens, hard hat, steel toe boots with metatarsal gaurds, safety glasses with a head strap, kevlar sleeves, ear plugs and additional protection (ear muffs) over the ear plugs. And that's just to get into the building. Inside it's even hotter and it's hard to stay hydrated. I had to be sure not to shut down the baghouse because doing so would shut down the entire mill. Can't get the pressure in the ducts too low or the ducts will collapse and if the pressure is too high the baghouse isn't collecting the emissions that it's supposed to. Top that off with inadequate hardware design and people that are fearful of losing their jobs if they make a mistake so they do very little and you end up on site for months for what should have taken a week.



    Several months after leaving they managed to blow up the new furnace which took out the pulpit where I had been working. Luckily no one was injured.



    At the moment I'm reprogramming the distributor and forehearth controls for a glass furnace. This is a pretty good gig because I get to sit in a nice air conditioned office and program while others check out I/O.



  • @ender said:

    @brianw13a said:
    There is a special place in hell for Rockwell and GE Fanuc (iFix) *developers*. (I hate calling them developers)
    GE as in General Electric? The company that makes medical software, which when installed sets up a service that runs a Remote Desktop Connection (which you have to partially set up manually, by switching to the Session 0, typing the username and password, and checking the Remember credentials checkbox; you also then have to disable the Interactive Services Detection service so Windows doesn't bug you all the time about the window opened on the services desktop) because it needs to run some kind of image conversion software in 32-bit colour depth (no, I'm not making this up)? The same software also installs Sybase SQL server, which crashes and burns when the machine has 8GB of RAM, because the 32-bit service tries to allocate 4GB of memory (admittedly, this is Sybase's problem, and not hard to work around once you know why everything is failing - but you'd really expect them to at least mention this somewhere (because nobody ever uses servers with more than 4GB of RAM, right?).
     

     I hope that's not their enterprise version of Centricity you're talking about.  



  • @Xyro said:

    @OzPeter said:
    I'm working on cranes for this project, and as an added bonus if I go to site I could literally be up to my arse in alligators if things go wrong.

    ??? Do you work in the Everglades?
    The job site for this project is on the banks of the Mississippi south of New Orleans. However you can find alligators as far north as North Carolina and reportedly near the North Carolina / Virginia border.



  • @blakeyrat said:

    @OzPeter said:
    I'm working on cranes for this project, and as an added bonus if I go to site I could literally be up to my arse in alligators if things go wrong.

    "What are your three biggest fears?"

    "Alligators by far the worst."

    Alligators are pussies compared to Salt Water Crocs.


  • @brianw13a said:

    ...
    Several months after leaving they managed to blow up the new furnace which took out the pulpit where I had been working. Luckily no one was injured. ..
    Thats part of the "fun" of jobs like this. If you screw up its not just a small matter of deleted data or loss of service .. its possible to physically blow up stuff and maim and kill people.

    Years ago I was working on steel mill in Siberia (disused crate for a chair in a control room that was missing some walls, all the while winter was approaching .. and no safety culture, so you really had to watch your step). One day we were told to clear out as there had been an "issue" with the reheat furnace (which was probably among the worlds largest). They had lost the 11kV feed to the combustion blower motors, but the combustion gas stayed on for about another 20 minutes as the safeties were chained open, and the valves had to be manually shut off. Fortunately the furnace was only idling otherwise there was a chance of a very big hole in the ground suddenly appearing (as opposed to a minor explosion)

    And you just reminded me of boots with metatarsal covers .. sure they'll protect you feet if something drops on you that is small enough not to squash you like a bug but big enough to hurt you .. but I always thought they added an extra component of danger when you were climbing ladders. There have been times where I have been on ladders and those damn things have caught on the rungs.



  • @Cat said:

    I hope that's not their enterprise version of Centricity you're talking about.
    I have yet to see any GE software that didn't have some sort of major WTF in it (i.e. their PLC version control software uses VSS as a back end) But my jaw dropped when I was dealing with Toshiba PLC programming software .. that "multi user system" uses an MDB file as its back end and layers "transaction like functionality" on top of it in the application itself.



  • @OzPeter said:

    my jaw dropped when I was dealing with Toshiba PLC programming software .. that "multi user system" uses an MDB file as its back end and layers "transaction like functionality" on top of it in the application itself.

    Could have been worse: they could have used MSDTC to handle transactions. Some people have lost their mind trying to solve DTC-related problems.


Log in to reply