Theres a couple ways to do this. One is to laboriously program some transformer object in the environment and wire them between the output off the Max Midi Input and the audio track containing the instrument you want to control. This involves transforming the midi input data into Logics metadata format. This is the way I used to do this sort of thing, and it is very tedious.
The easier way is to take advantage of Logic's control surface learning functions.
Set up a max patch that will send midi controller data with the controller and channel numbers you need. Have your instrument set up in logic and have the plugin window open.
Now, go to Logic Pro -> Preferences -> Control Surfaces -> Controller Assignments. Make sure it is in expert view.
In the bottom right hand corner of the assignments window is a button that says 'learn mode'. Turn learn mode on, and fiddle with the knob of the parameter you want to control. It should show up in the assignment window. Now, just send some midi ctrl information from Max and logic will assign that port/control #/channel # to the plugin parameter you selected. To set another controller, click on its knob and send a different midi controller message.
If I just send controller data from a number box as in the example patch below, everything typically comes out okay. I've found that if I try setting everything up using data from a midi LFO or something like that, logic might set some of the Value parameters incorrectly. If for some reason your controller data doesn't get the effect you want (for example values from 0 - 127 from max only work as an off/on switch on the plugin parameter) try messing with the Format and Mode options in the plugin assignments. Format: Unsigned and Mode:Scaled (or direct) tends to translate the midi data from Max linearly.
So I recommend using a number box to send data to set up everything, but after you have all your parameters set you should be able to use any automated midi generators in max and it will work fine. You can turn Learn Mode off and send data to logic and see if it responds the way you expected.
The main problem with setting up max midi controllers this way is that Logics controller assigments are global. They are the same from project to project. If you want a different set up in a different project, you have to erase the previous contoller assigments and set up new ones. If you use transform objects, it is saved within the project.
If you really want to know more about Logic's metadata, try swiftkick.com. Under downloads -> Logic Environments -> Swiftkick -> Environment Toolkit. It has a pdf with everything you ever wanted to know about manipulating Logic's environment. The pdf is old (from the 4.0 days) but the environment still works the same way.
Here is a very simple example patch of what I would use to send midi data for the set up.