I am a total newbie in AngularJs, so please be patient with me.
I have the following angular App, which contains two controllers
(function () {
    angular.module("app-machines", ['ngFlatDatepicker'])
    .controller('mainController', ['$scope', mainController])
    .controller("machinesController", machinesController);;
    function mainController($scope) {
        $scope.datepickerConfig_From = {
            allowFuture: true,
            dateFormat: 'DD.MM.YYYY',
            minDate: moment.utc('2015-09-13'),
            maxDate: moment.utc('2015-09-17')
        };
        $scope.datepickerConfig_To = {
            allowFuture: true,
            dateFormat: 'DD.MM.YYYY',
            minDate: moment.utc('2015-09-13'),
            maxDate: moment.utc('2015-09-17')
        };
        $scope.date_from = "14.09.2015";
        $scope.date_to = "15.09.2015";
        $scope.change = function () {
            //somehow execute machinesController get function
        };
    }
    function machinesController($http) {
        var vm = this;
        vm.errorMessage = "";
        vm.machines = [];
        $http.get("/api/machine/2015-09-14_2015-09-16")
        .then(function (response) {
            //success
            angular.copy(response.data, vm.machines);
        }, function (error) {
            //failure
            vm.errorMessage = "Failed to load data:" + error;
        });
    }
})();
my machinesController is supposed to call a GET function with parameters. Here parameters are 2015-09-14 and second one is 2015-09-16 (for now they are hard coded).
What I would like to achieve is, that I have a two input controls on my main page, which trigger $scope.change function (located at the bottom of the first mainController). Here I would like to pass values of date_from and date_to to the GET function, so that I can retrieve certain values.
What I can do (in the end, if nothing works) is to copy the ode from machinesController into my mainController and that would solve the problem. 
However I would like to learn how to work with this a bit better, therefore I would like to learn how to do it the proper way (in this case calling one module from the other).
What do I need to change in order to achieve this?
EDIT:
The reason why I have machinesController is, as was mentioned, to donwload the json data and show it to the user. So in the end in my html code I have the following:
    <div ng-controller="machinesController as vm" class="col-md-6 col-md-offset-3">
        <div class="text-danger" ng-show="vm.errorMessage"> {{ vm.errorMessage }}</div>
        <table class="table table-responsive table-striped">
            <tr ng-repeat="machine in vm.machines">
                <td> {{ machine.name }}</td>
            </tr>
        </table>
    </div>
Which displays a table with machine names.
 
     
     
     
    